- 11
- 0
- 约5.89千字
- 约 42页
- 2017-09-01 发布于安徽
- 举报
操作冲突规则表明: 如果事务T已经针对某个对象读操作,则并发事务U在事务T提交或放弃前不能写该对象 如果事务T已经针对某个对象写操作,则并发事务U在事务T提交或放弃前不能读写该对象 多个读/一个写 读锁和写锁 读锁是共享锁,对于读操作共享其读锁 加读锁,则写请求延迟等待 加写锁,则读写请求都延迟等待 * 锁解决的“更新丢失问题” 账户A,B,C分别有100,200,300元 * 事务T 事务U lock(B); read(B); lock(A); read(A); Deposit(B, B*0.1); Withdraw(A, B*0.1); Commit,Uncock(A,B) lock(C); read(C); lock(B); read(B); Deposit(B, B*0.1); Withdraw(C, B*0.1); Commit,Unlock(B,C) 串行结果 A:80 B:242 C:278 lock (B);read(B); lock (A);read(A); Deposit(B, B*0.1); Withdraw(A, B*0.1); Commit,Unlock(A,B) lock (C); read (C); read(B); Deposit(B, B*0.1); Withdraw(C, B*0.1); Commit,Unlock(B,C)
原创力文档

文档评论(0)