В многопользовательской общей системе несколько пользователей, работающие с одними и теми же данными, могут привести к несогласованности данных, поэтому операции блокировки необходимы в одновременных операциях для контроля одновременного выполнения транзакций.
Общий замок:Как видно из названия, блокировка может быть совместной, операция записи не должна быть совместной; как только общие данные записываются случайным образом, «блокировки» не существует, поэтому общий блокировка — это операция чтения «совместное использование», то есть блокировка уже нельзя записывать после добавления этого блокировки, но его можно читать, его также можно называть блокировкой только для чтения.
Эксклюзивные замки:Эксклюзивный замок более доминирующий, пока я добавляю этот замок, другие операции нельзя выполнять, почему? Поскольку я хочу изменить данные, я не должен позволять другим изменять их снова, и не должен добавлять блокировку только для чтения, потому что с блокировкой только для чтения я не могу выполнять операции записи.
Например, если транзакция T1 добавляет общий замок к данным D1, а транзакции T2 и T3 добавляют эксклюзивные блокировки к данным D2 и D3 соответственно, то транзакция T1 добавляет общий замок к данным (51). Данные пар T2 транзакций (52).
(51) Ответ: D
A. D2 и D3 плюс замок выполнены успешно B. D2, D3 плюс общий замок успешно C. D2 плюс общий блокировка проходит успешно, D3 добавляет блокировку, блокировка не работает D. D2, D3 плюс эксклюзивные и общие замки — все не проходят
(52) Ответ: C
A. D1, D3 плюс общий замок все не сработали B. D1, D3 плюс общий замок успешны C. D1 плюс общий замок сработали, D3 добавил ещё один замок неудачно D. D1 плюс замок сработали, и D3 не добавил общий замок
Если есть общий замок, можно добавить общий замок, но эксклюзивный замок добавить нельзя. Если есть эксклюзивный замок, то ни общий замок, ни эксклюзивный замок не могут быть добавлены.
|