Comments 8
а пример использования можно?
+1
Из вики:
Таким образом если функция имела побочный эффект, то полезут трудноуловимые баги.
Опять вики:
Хотел бы почитать подробнее про этот лог. В идеале они должны были изменить VM для этого.
P.S. Восхитительная статья про STM: Beautiful concurency (осторожно, haskell).
A transaction may also abort at any time, causing all of its prior changes to be rolled back or undone. If a transaction cannot be committed due to conflicting changes, it is typically aborted and re-executed from the beginning until it succeeds.
Таким образом если функция имела побочный эффект, то полезут трудноуловимые баги.
Опять вики:
STM is very optimistic: a thread completes modifications to shared memory without regard for what other threads might be doing, recording every read and write that it is performing in a log.
Хотел бы почитать подробнее про этот лог. В идеале они должны были изменить VM для этого.
P.S. Восхитительная статья про STM: Beautiful concurency (осторожно, haskell).
+2
оффтоп: спасибо большое за ссылку, книга великолепна
+2
> Таким образом если функция имела побочный эффект, то полезут трудноуловимые баги
Ну да, там так и написано: However, notice that it is crucial that act contains no effects other than reads and writes on TVars
Ну да, там так и написано: However, notice that it is crucial that act contains no effects other than reads and writes on TVars
0
>> хотя его использование в общем случае медленнее использования механизма блокировок
Ждем сравнительных тестов производительности.
Ждем сравнительных тестов производительности.
0
Блин, а в Rock это должно было быть сделано на аппаратном уровне :((( Моя плакатъ
+1
Sign up to leave a comment.
.NET Framework 4.0 получил механизм Software Transactional Memory