高级数据库中的并发控制问题传 统 的 并 发 控 制 方 法基本2PL协议如果一个事务所有的封锁操作(读写)都在第一个解锁操作之前,那么它就遵守2PL协议事务的执行中Lock的管理分成两个阶段上升阶段(成长阶段):获取Lock阶段(只能获取锁)收缩阶段(衰退阶段):释放Lock阶段(只能解锁)封锁点是指事务获得了它所要求的所有锁,并且还没有开始释放任何锁的时刻如果允许锁的转换,锁的升级必须在成长阶段进行,锁的降级必须在锁的衰退阶段进行。2PL可以保证事务执行的可串行性.2PL2PL协议(两阶段封锁协议)协议(两阶段封锁协议)开始加锁点结束事务执行过程获得锁释放锁两阶段封锁协议基本基本2PL2PL协议协议基本2PL协议实现的难点锁管理器必须要知道事务的锁点位置级联撤销(cascading aborts)如果事务在开始释放Lock后又Abort时,将引起级联撤销(cascading aborts)(其他访问这个数据项的事务也被撤销)保守2PL要求事务在开始执行之前就持有所有它要访问的数据项上的锁(可避免死锁)事务要预先声明它的读集和写集(很难做到,所以很少用)大多数2PL调度器实现的是严格