全部科目 > 数据库系统工程师 >
2021年上半年 上午试卷 综合知识
第 60 题
知识点 并发调度   可串行化的调度   两段锁协议  
章/节 事务管理  
 
 
以下关于并发调度的说法中,正确的是( )。
 
  A.  以不同串行方式调度执行两个事务,结果都相同
 
  B.  并发调度结果与某一种串行调度结果相同,是并发调度正确的必要条件
 
  C.  不满足两段锁协议的并发调度,其结果一定是错误的
 
  D.  满足两段锁协议的并发调度不会产生死锁
 
 




 
 
相关试题     并发调度的可串行性 

  第50题    2012年上半年  
以下关于事务调度的叙述中,错误的是(50)。

  第50题    2017年上半年  
保证并发调度的可串行化,是为了确保事务的( )。

  第52题    2017年上半年  
下图中两个事务的调度属于( )。

相关试题     两段锁协议 

  第59题    2022年上半年  
两个事务T1和T2遵守两段锁协议,则并发调度结果()。

  第60题    2019年上半年  
下面说法中错误的是( )。

  第51题    2017年上半年  
满足两阶段封锁协议的调度一定是( )。

 
知识点讲解
· 并发调度
· 可串行化的调度
· 两段锁协议
 
        并发调度
        并发调度(concurrent schedule):利用分时的方法同时处理多个事务。
        对于N个事务进行并发调度,情况会变得复杂得多,它的调度方案远大于N!个,而且并发调度的结果有可能是错误的。下图(a)调度S3是一个并发调度,其执行的结果与串行调度执行的结果相同,则称这个并发调度是正确的。下图(b)调度S4也是一个并发调度,但其导致A、B的最终结果为8000和24 000,A+B=8000+24 000≠30 000,这个结果是错误的。我们称此并行调度将产生不一致状态。
        
        事务的并发调度
 
        可串行化的调度
        多个事务的并发执行是正确的,当且仅当其结果与某一次序串行地执行它们时的结果相同,称这种调度策略是可串行化的调度(serializability schedule)。
        可串行性是并发事务正确性的准则,按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的才认为是正确调度。
 
        两段锁协议
               两段锁协议(Two-phase locking Protocol)
               两段锁协议是指对任何数据进行读写之前必须对该数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。
               所谓“两段”锁的含义是:事务分为两个阶段。第一阶段是获得封锁,也称为扩展阶段;第二阶段是释放封锁,也称为收缩阶段。
               例如:如果事务T1和T2的封锁序列如下,则T1遵守两段锁协议而T2不遵守两段锁协议。
               T1的封锁序列是:Slock A …Slock B…xlock C…Unlock B…Unlock A…Unlock C
               T2的封锁序列是:Slock A…Unlock A…Slock B…xlock C…Unlock C…Unlock B
               为了确保事务并行执行的正确性,许多系统采用两段锁协议。同时系统设有死锁检测机制。发现死锁后按一定的算法解除死锁。
               两段锁协议与可串行化
               如果事务都遵循两段锁协议,那么它们的并发调度是可串行化的。两段锁是可串行化的充分条件,但不是必要条件。即如果事务不遵循两段锁协议,那么它们的并发调度可能是可串行化的,也可能是不可串行化的。
               需要注意的是采用两段锁协议也有可能产生死锁,这是因为每个事务都不能及时解除被它封锁的数据,可能会导致多个事务互相都要求对方已封锁的数据不能继续运行。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有