【问题标题】:Does strict Two Phase Locking (2PL) allow shared READ items?严格的两相锁定 (2PL) 是否允许共享 READ 项目?
【发布时间】:2014-06-22 23:22:12
【问题描述】:

我浏览了一些来源,但最近发现一个说在严格的 2PL 中甚至不允许共享读锁。这是真的?另请确认 Conservative 和 Basic 2PL 允许共享?

【问题讨论】:

    标签: database concurrency locking acid


    【解决方案1】:

    锁兼容性矩阵回答了您的问题

    Lock-Type       Read-Lock        write-Lock
    Read-Lock                            X
    Write-Lock         X                 X
    

    这里X表示两种锁不兼容,空白表示锁兼容。共享锁(读锁)只有在该项目上持有共享锁时才允许。

    关于严格和严格的 2PL,与基本 2PL 相比,区别仅在于释放锁的顺序。

    在严格的 2PL 中,所有写锁只有在提交/中止操作后才会释放。

    在严格的 2PL 中,只有在提交/中止操作后才会释放所有锁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多