S-блокировка ![]() |
![]() |
--- |
Чтение ![]() |
![]() |
--- |
--- | ![]() |
X-блокировка ![]() |
--- | ![]() |
Ожидание- |
Повторное чтение ![]() |
![]() |
Ожидание- |
Фиксация транзакции (Блокировка снимается) |
![]() |
Ожидание- |
--- | ![]() |
X-блокировка ![]() |
--- | ![]() |
Запись ![]() |
--- | ![]() |
Фиксация транзакции (Блокировка снимается) |
Результат. Транзакция B притормозилась до окончания транзакции A. В результате транзакция A дважды читает одни и те же данные правильно. После окончания транзакции A, транзакция B продолжила работу в обычном режиме.