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