大门|大门-CS-2016(第1组)|问题61

考虑以下两个阶段锁定协议。假设一个事务T访问(读或写操作),一组特定的对象{O1,…,Ok}。这是通过以下方式完成的:

null

第一步 .T获得O1的独占锁,好的,按地址的递增顺序排列。 第二步 .执行所需的操作。 第三步 .所有锁都已释放。

该协议将 (A) 保证可串行化和死锁自由 (B) 既不保证可序列化性,也不保证死锁自由 (C) 保证可序列化,但不保证死锁自由 (D) 保证死锁自由但不可序列化 答复: (A) 说明: 上述场景是保守的2PL(或静态2PL)。在保守的2PL协议中,在事务开始执行之前,事务必须锁定它访问的所有项。习惯了 避免僵局 .此外,2PL是可冲突序列化的,因此 保证可序列化。

因此,选择A

保守型2PL的优点:

  • 没有僵局的可能。
  • 确保可序列化。

保守的2PL的缺点:

  • 吞吐量和资源利用率较低,因为它在事务开始执行之前持有资源。
  • 由于解锁操作没有限制,因此可能会出现饥饿。
  • 2pl是一种无死锁的协议,但在实际中很难使用。

这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享