java所有锁(第一篇)
2020-03-25 本文已影响0人
salix_
我相信大多数人都被网上一些是读写锁、共享锁、自旋锁、互斥量啥的搞懵了,一天前的我也是这样。
一:java有几种锁
现在,我们不管啥乐观锁、悲观锁、读写锁,我们就记住java只有两种实现锁的方式(代码上)。一种是Synchronized,另外一种是Lock接口下面的锁(比如Reetrantlock等)。
二:简单介绍Synchronized和内部的锁
- Synchronized是某一种锁吗?不是!他只是一个用来上锁的关键字。
- 那他上的是啥锁?
- 他上的是一个可变化的锁。这个锁会随着线程之间的竞争关系从偏向锁 → 轻量级锁 → 重量级锁。
- 他上的也是一个可重入的锁(线程A上了锁之后,还可以再上一次。)
Synchronized(第二篇)
三:Lock
Lock是个接口,我们主要介绍它下面的ReentrantLock,ReentrantReadWriteLock。
Lock(第三篇)