История изменений
Исправление
dave,
(текущая версия)
:
В книге Parallel and Concurrent Programming in Haskell утверждается, что «транзакционная память» - неудачный термин. Это скорее об атомарных операциях чтения/записи переменных. Добавлю от себя, что то, что там создается журнал откатов - это лишь деталь реализации. Поэтому лучше не проводить больших аналогий с транзакциями баз данных. Что-то похоже, но не более того.
Хотя у STM есть приятные фишки, как неявная модель слушатель-источник события, реализованная на уровне run-time языка, а также безопасность относительно асинхронных исключений, т.е. с ними заморачиваться не надо особо.
Исходная версия
dave,
:
В книге Parallel and Concurrent Programming in Haskell утверждается, что «транзакционная память» - неудачный термин. Это скорее об атомарных операциях чтения/записи переменных. Добавлю от себя, что то, что там создается журнал откатов - это лишь деталь реализации. Поэтому лучше не проводить больших аналогий с транзакциями баз данных. Что-то похоже, но не более того.
Хотя у STM есть приятные фишки, как неявная модель слушатель-подписчик, реализованная на уровне run-time языка, а также безопасность относительно асинхронных исключений, т.е. с ними заморачиваться не надо особо.