Здравствуйте, Sharov, Вы писали:
V>>На очередях прекрасно можно реализовать ACID, не лоча при этом единовременно все сущности. S>Типа что-то паттерна saga. V>>Собсно, суть всех lock-free алгоритмов примерно такая же. S>Это глупость. Это все равно что сказать что суть lock-free в однопоточности. Т.е. у нас один поток, поэтому lock-free. Суть lock-free иная.
Такая же точно.
Суть лок-фрии алгоритмов примерно такова:
1. прочитать текущее состояние;
2. сформировать следующее;
3. попытаться атомарно обновить текущее состояние, если не было изменений;
4. если были изменения, goto (1).
В этом цикле может крутиться несколько потоков одновременно.
За один оборот как минимум один поток продвигается.