没有对象就算了,你连Java中的锁都不知道?这就是你的不对了,还不来狂补?
一、乐观锁 VS 悲观锁
悲观锁和乐观锁大概是大家听到最多的两种锁了,这两种锁的区分更多的是思想上。
对于一个操作,悲观锁认为自己在操作过程中,一定有别的线程也要来修改这个数据,所以一定会加锁。而乐观锁则不认为会有别的线程来干扰自己,所以不需要加锁。
在Java中,synchronized关键字和Lock的实现类都是悲观锁,而乐观锁一般采用无锁编程,也就是CAS算法来实现的。
首先说一说悲观锁
1、悲观锁
悲观锁的流程:
1、线程尝试去获取锁
2、线程加锁成功并执行操作,其他线程.
原创
2020-06-10 14:46:36 ·
248 阅读 ·
0 评论