第3题:
什么是封锁?封锁的基本类型有几种,含义如何?
封锁就是事务T在对某个数据对象例如表、记录等操作之前先向系统发出请求对其加锁。加锁后事务T就对该数据对象有了一定的控制在事务T释放它的锁之前其他的事务不能更新此数据对象。 封锁是实现并发控制的一个非常重要的技术。 基本的封锁类型有两种:排它锁(Exclusive Locks简称X锁)和共享锁(Share Locks简称S锁)。 排它锁又称为写锁。若事务T对数据对象A加上X锁则只允许T读取和修改A其他任何事务都不能再对A加任何类型的锁直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁又称为读锁。若事务T对数据对象A加上S锁则事务T可以读A但不能修改A其他事务只能再对A加S锁而不能加x锁直到T释放A上的S锁。这就保证了其他事务可以读A但在T释放A上的S锁之前不能对A做任何修改。 封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。基本的封锁类型有两种:排它锁(ExclusiveLocks,简称X锁)和共享锁(ShareLocks,简称S锁)。排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加x锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。