引用一些装逼理论解释悲观锁和乐观锁

悲观锁:

理解悲观锁前首先要知道什么是悲观主义,悲观主义泛指对宇宙、社会、人生悲观失望的态度、观点和理论。作为一种世界观和人生观,认为世界变幻无常,人注定要遭受苦难,因而陷入悲观绝望,甚至认为生不如死,企图超越现实,以求解脱和获得拯救。

同样的线程也会认为一个变量无时无刻处于被别人修改的状态,非常绝望,于是为了解脱,为了救赎,就把这个变量给锁了 - -!

然后锁了之后,我就可以肆意的对对象胡作为非,然后搞完事情之后释放这个锁。

好处:保证了线程的安全性。

缺点:导致其他线程中断。降低了系统并发量。


乐观锁:

与悲观相对,意思是遍观世上人、事、物,皆觉快然而自足的持久性心境。乐观是一种向阳的人生态度。威尔科克斯说过:当生活像一首歌那样轻快流畅时,笑颜常开乃易事;而在一切事都不妙时仍能微笑的人,是真正的乐观。

多个线程在面对一个变量的时候,不会犹豫它会不会被其他线程侵犯,而是抱着微微一笑的态度先去获取该变量的值,然后改前再跟之前的数据对比一下的,看看数据有没有发生变化。如果数据变了(被其他线程侵犯过),就不去执行本线程的更新操作,如果值没有变化,则去执行更新操作。

优点:无锁的操作带来了高并发的效率。

缺点:遇到数据不一致的情况,需要重新获取正确的数据,导致系统承受额外的查询循环。同时会有ABA的问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值