独享锁/共享锁

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11395763.html

 

独享锁

独享锁:该锁每一次只能被一个线程所持有,参考synchronized以及JUC包下的ReentrantLock

 

共享锁

共享锁:该锁可被多个线程共有,典型的就是ReentrantReadWriteLock里的读锁,它的读锁是可以被共享的,但是它的写锁每次只能被读占,读锁的共享可保证并发读是非常高效的,但是读写和写写,写读都是互斥的,参考JUC包下的ReentrantReadWriteLock


独享锁和共享锁都是通过AQS队列来实现的,通过实现不同的方法,来实现独享或者共享。

posted @ 2019-08-22 17:37  李白与酒  阅读(438)  评论(0编辑  收藏  举报