并发编程之锁

Posted it-szp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程之锁相关的知识,希望对你有一定的参考价值。

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

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

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

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

4.乐观锁

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

5.悲观锁

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

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

7.CAS无锁机制

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

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

   N:表示新值

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

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

以上是关于并发编程之锁的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程与并发模型之锁

多线程之锁机制

java并发优化之锁lock

jdk并发工具包之锁

Java高并发之锁优化

SQLite剖析之锁和并发控制