这里用表格的形式将Java中的锁以及应用进行罗列,可结合我的另一篇文章《Java中的锁机制》进行阅读学习。
锁名称 | 应用 |
---|---|
乐观锁 | CAS |
悲观锁 | synchronized、vector、hashtable |
自旋锁 | CAS |
可重入锁 | synchronized、Reentrantlock、Lock |
读写锁 | ReentrantReadWriteLock,CopyOnWriteArrayList、CopyOnWriteArraySet |
公平锁 | ReentranLock(true) |
非公平锁 | synchronized、ReentranLock(false) |
共享锁 | ReentranReadWiteLock中读锁 |
独占锁 | synchronized、vector、hashtable、ReentranReadWiteLock中写锁 |
重量级锁 | synchronized |
轻量级锁 | 锁优化技术 |
偏向锁 | 锁优化技术 |
分段锁 | concurrentHashMap |
互斥锁 | synchronized |
同步锁 | synchronized |
死锁 | 相互请求对方的资源 |
锁粗化 | 锁优化技术 |
锁消除 | 锁优化技术 |