类型 | 并发特性 | 其他 |
---|---|---|
synchronized | JVM层面上实现,JDK1.6后不比ReentrantLock差 | 不要考虑加锁,释放锁,竞争不太频繁 |
ReentrantLock、ReentrantReadWriteLock | 对象层面的锁定 | 锁定一定会被释放,就必须将unLock()放到finally{},根据场景使用 |
StampedLock | 读多写少,很适合 | 是不可重入锁,不能在一个线程中反复获取同一个锁 ,根据场景使用 |
StampedLock使用说明
1 | public class Point { |
https://www.liaoxuefeng.com/wiki/1252599548343744/1309138673991714