Вопросы по теме 'stm'
Поддержка активной библиотеки STM
Я ищу библиотеку Java STM, которая находится в стадии активной разработки, чтобы мы могли начать использовать ее в нашем продукте. Я посмотрел на мультивселенную и объектную ткань из википедии, но похоже, что для них не ведется разработка.
Хотел...
235 просмотров
schedule
13.11.2021
Программная память транзакций в Haskell: не удалось сопоставить ожидаемый тип STM a0 с фактическим типом IO ()
У меня есть небольшая программа, которая определяет учетную запись, функцию вывода и пытается выйти из нее. Однако он не компилируется и выдает следующую ошибку:
Couldn't match expected type ‘(STM a0 -> IO a0)...
120 просмотров
schedule
16.09.2021
К какой категории транзакционной модели относится Clojure STM?
Я знаком с транзакциями базы данных и потратил много времени на настройку уровни изоляции . Я никогда не реализовывал собственную транзакционную модель в коде.
Я прочитал исходный код для реализации транзакций Clojure — и я пытаюсь понять...
74 просмотров
schedule
14.04.2022
Изменить и распечатать состояние с помощью STM
Я могу инициализировать состояние с помощью STM и распечатать его:
module Main where
import Control.Concurrent.STM
data State = State {name :: String} deriving (Show)
type MyAppState = TVar [State]
initState :: STM MyAppState
initState =...
136 просмотров
schedule
25.05.2022
Один атом против нескольких ссылок
Каковы компромиссы представления состояния с использованием одного атома и хэш-карты по сравнению с несколькими ссылками?
Например:
(def start (atom {:location "Chicago" :employer "John"}))
vs
(def location (ref "Chicago"))
(def...
179 просмотров
schedule
31.05.2022
Haskell STM: основной поток не завершится, пока дочерний поток не завершит выполнение
В следующей программе я хочу, чтобы основной поток не завершался до тех пор, пока все его дочерние потоки не завершат выполнение. Обратите внимание, что я использовал шаблоны взрыва для оценки вызова Фибоначчи, чтобы он возвращал оцененный...
204 просмотров
schedule
03.06.2022
Осколок Haskell STM TVAR
Я новичок в Haskell и STM, и я пытаюсь понять основную концепцию.
В Haskell и функциональном программировании в целом, поправьте меня, если я ошибаюсь, нет такой вещи, как присваивание.
Я не могу написать x=3; , все, что я могу сделать, это...
316 просмотров
schedule
10.06.2022
Отключить ведение журнала для Akka STM (Multiverse)
Я использую akka stm , и когда мое приложение запускается, оно выводит (для stderr):
Okt 20, 2011 10:17:10 AM org.multiverse.api.GlobalStmInstance <clinit>
Information: Initializing GlobalStmInstance using factoryMethod...
325 просмотров
schedule
07.08.2023
Читатели-писатели, использующие STM в Clojure
Существует следующая версия проблемы «читатели-писатели»: несколько читателей и писателей, 2 или более читателей могут читать одновременно, если пишет писатель, никто не может ни читать, ни писать, желательно, чтобы все писатели имели равные шансы...
217 просмотров
schedule
27.01.2023
Clojure STM не хватает памяти
У меня есть небольшая программа, которая должна выполнять параллельный банковский перевод с использованием STM, поэтому я тестирую ее на разных машинах, двухъядерных и одноядерных. На 2-ядерных машинах все работает, но на 1-ядерной машине выдается...
718 просмотров
schedule
29.11.2022
Один канал обработки, 2 источника ввода-вывода одного типа
В моем приложении GHC Haskell , использующем stm, network-conduit и conduit, у меня есть цепь для каждого сокета, которая автоматически разветвляется с использованием runTCPServer . Нити могут связываться с другими ветвями с помощью...
2314 просмотров
schedule
06.11.2022
Интегрированы ли записи TChan в Haskell STM?
Если транзакция STM терпит неудачу и предпринимается повторная попытка, вызов writeTChan выполняется повторно, так что вы получаете две записи, или STM фактически выполняет запись только в том случае, если транзакция фиксируется? т. е. допустимо ли...
530 просмотров
schedule
28.01.2023
Коэффициент неоднозначности Clojure STM
В Clojure мы используем STM для параллелизма.
Мой вопрос заключается в том, что STM использует значение данных на момент времени, не приводит ли это к двусмысленности?
Как мы можем узнать, к какому значению осуществляется доступ?
348 просмотров
schedule
10.04.2023
Обеспечивает ли STM точную блокировку существующих структур данных?
Прочитав фантастический сообщение в блоге Бартоша Милевски о STM, я был взволнован, прочитав следующий:
Но учтите важный факт: STM очень мелкозернистый. Например, когда вы вставляете элемент в дерево, транзакция STM блокирует только те...
328 просмотров
schedule
22.10.2022
STM и атомарно: почему семантика этих двух программ различается?
Давайте рассмотрим эту простую программу на Haskell:
module Main where
import Control.Concurrent.STM
import Control.Concurrent
import Control.Exception
import Control.Monad
import Data.Maybe
import Data.Monoid
import Control.Applicative...
162 просмотров
schedule
12.12.2022
Чем Clojure STM отличается от Haskell STM?
Я пытаюсь найти различия между тем, что Clojure называет STM, и тем, что реализовано в Haskell как STM. Если отвлечься от фактических языковых семантических различий, я немного сбит с толку, когда Рич Хики сказал в своей речи, что реализация STM в...
3386 просмотров
schedule
27.11.2023
Когда и зачем использовать MVar вместо TVar
Я считаю, что с TVar довольно легко работать, хотя MVar выглядит немного проще, а TVar немного более функционален.
Итак, мой вопрос довольно прост: в каком состоянии я хочу перейти на MVar, а не на TVar? Я полагаю, что в любое время, когда мне не...
6702 просмотров
schedule
14.05.2024
Haskell STM и повторите попытку
Когда мы запускаем выражение STM , которое достигает retry , поток блокируется, и транзакция запускается еще раз, если записи изменены.
Но мне было интересно:
Если мы прочитаем переменную STM, которая в этой конкретной ветке, ведущей к...
566 просмотров
schedule
26.05.2024