【发布时间】:2016-12-30 17:50:19
【问题描述】:
我目前正在处理2-Phase-Lock Protocol,考虑以下时间表:
S = R_3 D R_1 A W_2 A W_2 C R_3 B W_3 B R_1 B
其中 R = 读取,W = 写入,{A, B, C} = 对象,{1,2,3} = 事务。
现在我将证明2PL 不能用于S。但我实际上不明白为什么,我会将Locks(L)/Unlocks(U) 设置为:
L_3 D R_3 D U_3 D L_1 A R_1 A U_1 A L_2 C W_2 C U_2 C L_3 B R_3 B W_3 B U_3 B R_1 B
所以,我在事务的每个对象中最多使用 1 个L/U。我在这里做错了什么?
【问题讨论】:
标签: database transactions