Вопросы по теме '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 просмотров

Когда и зачем использовать MVar вместо TVar
Я считаю, что с TVar довольно легко работать, хотя MVar выглядит немного проще, а TVar немного более функционален. Итак, мой вопрос довольно прост: в каком состоянии я хочу перейти на MVar, а не на TVar? Я полагаю, что в любое время, когда мне не...
6702 просмотров
schedule 14.05.2024

Haskell STM и повторите попытку
Когда мы запускаем выражение STM , которое достигает retry , поток блокируется, и транзакция запускается еще раз, если записи изменены. Но мне было интересно: Если мы прочитаем переменную STM, которая в этой конкретной ветке, ведущей к...
566 просмотров
schedule 26.05.2024