判断题
1.一个事务对某数据加S锁后,其它的事务不能对该数据加任何类型的锁。F
2.若并发事务遵守三级封锁协议则必然遵守两段锁协议。T
3.一级封锁协议只有修改数据时才能加锁,所以它可以防止“读脏数据”和“不可重复读”。
F 解析:在一级封锁协议中加了写锁之后的数据还可以进行读操作,所以不能防止脏读。而二级协议中,读操作之前一定要加读锁,所以只要在修改前加了写锁(准确说,应该是读取前加了写锁),就可以防止脏读
4.一个事务对某数据加X锁后,其它的事务只能对该数据加S锁。 F
5.封锁粒度越大,系统中能够被封锁的对象就越多,并发度越高。 F
6.如果多个事务同时对数据库执行SELECT操作则不会引起冲突。 T
7.如事务T对数据对象R实现X封锁,则T对R即可读又可写。
T 注:S对R不能读也不能写
8.使某个事务永远处于等待状态,而得不到执行的现象称为死锁。
F 补充:死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
产生死锁的原因:
(1)系统资源不足。
(2) 进程运行推进的顺序不合适。
(3)资源分配不当等。
产生死锁的四个必要条件:
(1)互斥条件:一个资源每次只能被一个进程使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:进程已获得的资