#1.指令冲突
注:读读操作不冲突,剩下的冲突。
#2.冲突串行化
<1理解 如果一个调度可以在不改变冲突操作顺序的情况转换为任意串行调度,那么两个调度的结果是相同的,也就是说这个调度是可冲突串行化的
<2正反举例
<3测试(典型例题)
注:画优先图运用指令冲突规则:只有读读不冲突,事务I在前,事务J在后,Ti→Tj
优先图举例1:
优先图举例2:
#3 锁定协议
注:对于第一种锁定协议,值得注意的是:
-1 对X至少有一次操作为写,加锁的时候写write_lock(x),只有读操作,加锁写read_lock(x)
-2 对x进行最后一次操作后(只有一个等同于最后一次),对x进行解锁
#4死锁
<1理解
<2死锁测试(典型例题)
注:wait-for graph箭头指向是:
A等待被B锁定的物品,则A指向B
<5检查点