并发编程之锁

1.轻量级锁(Lock)与重量级锁(synchronized):都是可重入锁

2.可重入锁(递归锁):方法中嵌套方法,锁可传递

3.读写锁(ReentrantReadWriteLock)--读写分离

   读锁(获取该值信息)和写锁(对该值操作)

4.乐观锁

   本质没有锁,效率比较高、无阻塞、无等待、重试。

5.悲观锁

   属于重量级锁,会阻塞、会进行等待。synchronized属于悲观锁。

6.原子类底层实现原理是CAS无锁技术(比较再交换)

7.CAS无锁机制

   V:表示要更新的变量;主内存

   E:表示预期值;本地内存

   N:表示新值

   如果V=E(主内存值与本地内存值一致),说明:没有被修改过,将V的值设为N

   如果V!=E(主内存值与本地内存值不一致),已经被修改,重新刷新主内存,循环比较

猜你喜欢

转载自www.cnblogs.com/it-szp/p/11522139.html