time 
设为首页】【收藏本站
当前位置: 主页 > 数据库 > SQL Server > SQL 2012 > 并发控制机制Optimistic concurrency control(乐观锁)和Pessimistic concurrency control(悲观锁)介绍及使用

并发控制机制Optimistic concurrency control(乐观锁)和Pessimistic concurrency control(悲观锁)介绍及使用

时间:2014-11-04 15:17 点击:2993次 字体:[ ]




(一)为什么需要并发控制机制

并发控制机制是为了防止多个用户同时更改同一条数据,也可以防止一个用户在更改数据的同时造成另一个用户看到”过期”的数据。下面看一个例子就明白了。

John和Marry有一个联合银行帐户,帐户的余额是$1000,John向帐户里存入了$500,Marry取走了$500,如果没有并发控制,John最后看到的余额是$1500,而Marry看到的帐户余额是$500。

 

并发控制机制Optimistic concurrency control(乐观锁)和Pessimistic concurrency control(悲观锁)介绍及使用_www.fengfly.com

 

 

而如果使用了并发控制机制,在John读取帐户余额的时候,该帐户就被锁死了,Mary没有办法读取或者修改该帐户,直到John完成操作,把锁释放了。

 

并发控制机制Optimistic concurrency control(乐观锁)和Pessimistic concurrency control(悲观锁)介绍及使用_www.fengfly.com

 

 

(二)Optimistic Concurrency Control与Pessimistic Concurrency Control

有两种并发控制机制,Optimistic concurrency control(乐观?)和Pessimistic concurrency control(悲观?),两者之间的区别是:

 

Pessimistic concurrency control使用的机制是用户A在读取或修改某条记录(rows)时,将该记录锁死,防止其他用户同时读取或修改同一条记录。直到用户A释放掉锁,其他用户才可以对记录读取或修改,所以Pessimistic Lock的缺点是容易导致系统性能瓶颈。

Optimistic concurrency control在某条记录被读取时不会将记录锁死,只有当发现某条记录被多个用户同时修改的时候,其中一个用户的修改可以被提交(commit),其他用户会收到一个异常告知他们的修改没有成功。



本文地址 : http://www.fengfly.com/plus/view-215481-1.html
标签: 乐观锁 悲观锁 并发控制机制 Optimistic concurrency control Pessimistic concurrency control
------分隔线----------------------------
相关文章
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: