fraternityjava 2020-06-05
1、乐观锁:就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态,
乐观锁认为竞争不总是会发生,因此它不需要持有锁,将比较-替换这两个动作作
为一个原子操作尝试去修改内存中的变量,如果失败则表示发生冲突,那么就应
该有相应的重试逻辑。
2、悲观锁:还是像它的名字一样,对于并发间操作产生的线程安全问题持悲观状
态,悲观锁认为竞争总是会发生,因此每次对某资源进行操作时,都会持有一个
独占的锁,就像 synchronized,不管三七二十一,直接上了锁就操作资源了。