в состояние ожидания до тех
Пример 7
Транзакция A
Время
Транзакция B
S-блокировка - успешна |
|
--- |
Чтение |
|
--- |
--- |
|
S-блокировка - успешна |
--- |
|
Чтение |
X-блокировка - отвергается |
|
--- |
Ожидание- |
|
X-блокировка - отвергается |
Ожидание- |
|
Ожидание- |
Ожидание-
|
Ожидание-
Обе транзакции успешно накладывают S-блокировки и читают объект
. Транзакция A пытается наложить X-блокирокировку для обновления объекта
. Блокировка отвергается, т.к. объект
уже S-заблокирован транзакцией B. Транзакция A переходит в состояние ожидания до тех пор, пока транзакция B не освободит объект. Транзакция B, в свою очередь, пытается наложить X-блокирокировку для обновления объекта
. Блокировка отвергается, т.к. объект
уже S-заблокирован транзакцией A. Транзакция B переходит в состояние ожидания до тех пор, пока транзакция A не освободит объект.
Результат. Обе транзакции ожидают друг друга и не могут продолжаться. Возникла ситуация тупика.
Содержание раздела