说说我的看法,不对的地方请指正。
乐观锁的实现原理是cas操作,java中轻量级锁也是基于cas实现的。
悲观锁最大的问题就是阻塞问题。
在深入理解java虚拟机中提到,轻量级锁一般情况下是优于重量级锁(互斥锁)的;如果在高并发锁竞争比较激烈的情况下轻量级锁会由于长时间自旋消耗cpu 从而使得轻量级锁的性能比传统的重量级锁更慢。那么乐观锁中也有自旋和cas,所以高并发下乐观锁好像不是一种好的解决方案。
但是有些博文中提到 高并发下使用乐观锁更合适
比如这篇文章中就提到高并发数据库访问使用乐观锁
http://blog.csdn.net/amqvje/a...
问题1,高并发下如何选择?
问题2 乐观锁有什么缺点? 为什不都使用乐观锁。高并发下都是使用乐观锁,如果并发量不高,使用乐观锁感觉更不是问题
慕容3067478
互换的青春
繁星淼淼
四季花海
随时随地看视频慕课网APP
相关分类