11.1.3 基本封锁协议的问题
��从上页的图11-1-3的例子可以看出,即使在调度中采用了封锁协议,也还有可能导致数据库的不一致。图11-1-3中,事务T2的计算结果就是错误的,因此封锁协议也有缺陷,这些缺陷概括起来就是下面三个问题: ��⑴�解锁问题:在事务中过早地释放数据项上的锁,有可能导致数据库的不一致; ��⑵�死锁问题:所有的事务因为持有锁和申请锁而导致大家都处于等待状态,无法继续执行; ��⑶�饿死问题:一个事务总是不能在某数据项上加上锁,因此该事务也就永远不能取得进展。 ��