数据库系统概论-并发控制2-封锁

数据库系统概论-并发控制2-封锁

  1. 什么是封锁?

答:封锁就是一个事务对数据对象操作之前,先向系统发出请求,对其加锁;

加锁后事务T就对该数据对象有了一定的控制,在该事务解锁之前,其他事务不能对此对象进行相对应的操作;

基本的封锁类型:

  1. 排它锁(Exclusive Locks,简单记为X锁)
  2. 共享锁(Share Locks,简单记为S锁)

排它锁又称写锁。

若事务T对数据对象加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。

共享锁又称读锁。

若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能对A加S锁,而不能加X锁,直到T释放A上的S锁。

锁的相容矩阵

数据库系统概论-并发控制2-封锁_第1张图片

 

  1. 最左边的一列表示事务T1对数据对象的锁,横线表示没有锁;
  2. 最上面一行表示事务T2对同一数据对象发出的封锁请求;
  3. Y表示可以相容,N表示不可以。

 

 

 

你可能感兴趣的:(数据库)