两段锁协议可能会导致死锁

题目

两段锁协议可能会导致死锁

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

能保证不产生死锁。

A.两段锁协议

B.一次封锁法

C.2级封锁协议

D.3级封锁协议


正确答案:B
解析:本题考查应试者对事务处理程序加锁协议的掌握。两段锁协议是指事务处理程序对数据进行读写操作前加锁,释放一个锁之后就不能再加锁,两段锁协议用来保证事务的可串行化(执行结果的正确性),但并不能保证产生死锁;一次封锁法是指事务处理程序在所有要进行读写操作的数据全部先加锁后再进行访问,在两段锁协议的基础上要求更严格,能保证不产生死锁;2级封锁协议是指事务处理程序在进行修改数据操作之前先对其加独占锁,直到事务处理程序结束前释放,在进行读取数据操作之前先对其加共享锁,读完后就释放,2级封锁协议可以防止丢失修改和读“脏”数据;3级封锁协议比是指事务处理程序在进行修改数据操作之前先对其加独占锁,直到事务处理程序结束前释放,在进行读取数据操作之前先对其加共享锁,直到事务处理程序结束前释放,比2级封锁协议更严格,可以防止丢失修改、读“脏”数据和不可重复读三种错误。除一次封锁法外,其他3个协议都是保证程序执行的正确性的,都可能产生死锁,但死锁问题可以由DBMS进行处理,而一次封锁法在实现上也困难,通常不采用。此题答案为B。

第2题:

对数据对象施加封锁,可能会引起活锁和死锁。预防死锁通常有【 】和顺序封锁法两种方法。


正确答案:一次封锁法
一次封锁法 解析:预防死锁有一次封锁法、顺序封锁法:一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

第3题:

对数据对象施加封锁,可能会引起活锁和死锁问题。预防死锁通常有一次封锁法和一【 】两种方法。


正确答案:顺序封锁法
顺序封锁法 解析:预防死锁有一次封锁法、顺序封锁法。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

第4题:

对数据对象施加封锁,可能会引起活锁和死锁问题。预防死锁通常有一次封锁法和【 】两种方法。


正确答案:顺序封锁法
顺序封锁法 解析:预防死锁有一次封锁法、顺序封锁法。 一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

第5题:

在并行控制中引入两段封锁协议的目的是

A.为了解决并行执行时可能引起的死锁问题

B.为了解决并行执行时可能引起的活锁问题

C.为了解决交叉调度的不可串行化问题

D.为了解决不同的调度导致不同的运行结果


正确答案:C
解析:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。所谓两段锁的含义是:事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段;第二阶段是释放封锁,也称为收缩阶段。若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度都是可串行化的。

第6题:

在死锁的解决方法中,为了避免死锁而采用资源预分配策略,但可能会导致资源的浪费。()


正确答案:对

第7题:

______能保证不产生死锁。

A.两段锁协议

B.一次封锁法

C.2级封锁法协议

D.3级封锁协议


正确答案:B

第8题:

在并发控制中引入两段锁协议的目的是( )。

A.为了解决并行执行时可能引起的死锁问题

B.为了解决并行执行时可能引起的活锁问题

C.为了解决交叉调度的不可串行化问题

D.为了解决不同的调度导致不同的运行结果


正确答案:C
解析:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。所谓两段锁的含义是,事务分为两个阶段;第一阶段是获得封锁,也称为扩展阶段:第二阶段是释放封锁,也称为收缩阶段。若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的。但需要注意:事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。即若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的:若对并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议。同时还需注意,两段锁协议不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁。

第9题:

下列叙述中,正确的是

A.不遵循两段锁协议的并发调度一定是不可串行的

B.两级封锁协议可能保证数据的可重读性

C.对某处数据对象加了X封锁,则还可以在该数据对象上加S封锁

D.遵循两段封锁协议的并发事务一定不会发生死锁


正确答案:B
解析:两段锁协议是保证并发调度可串行化的充分条件:对某个数据对象加了X锁,则其他任何事务不能再对该数据对象加任何类型的锁;遵循两段锁协议的并发事务可能发生死锁。

第10题:

在并发控制中引入两段锁协议的目的是( )。

A)为了解决并行执行时可能引起的死锁问题

B)为了解决并行执行时可能引起的活锁问题

C)为了解决不同的调度导致不同的运行结果

D)为了解决交叉调度的不可串行化问题


正确答案:D