Исходный код вики Оптимистичная блокировка

Версия 1.5 от Alexandr Fokin на 2022/11/14 20:40

Скрыть последних авторов
Alexandr Fokin 1.5 1 ----
Alexandr Fokin 1.4 2
Alexandr Fokin 1.5 3 1. Берем элемент (не блокируя) (фиксируем version/timestamp)
4 1. Производим обработку.
5 1. Атомарно проверяем, что version/timestamp не изменился. (иначе ошибка/повторная обработка/игнорирования, что исходные данные изменились с момента начала обработки)
6 1. Сохраняем элемент.
7
Alexandr Fokin 1.4 8 ----
9
10 Compare and swap (CAS)
Alexandr Fokin 1.5 11
12 ----
13
14