什么是乐观锁和悲观锁?

fraternityjava 2020-06-05

1、乐观锁:就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态,

乐观锁认为竞争不总是会发生,因此它不需要持有锁,将比较-替换这两个动作作

为一个原子操作尝试去修改内存中的变量,如果失败则表示发生冲突,那么就应

该有相应的重试逻辑。

2、悲观锁:还是像它的名字一样,对于并发间操作产生的线程安全问题持悲观状

态,悲观锁认为竞争总是会发生,因此每次对某资源进行操作时,都会持有一个

独占的锁,就像 synchronized,不管三七二十一,直接上了锁就操作资源了。

相关推荐

趣IT / 0评论 2019-11-01