独享锁/共享锁

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

独享锁

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

共享锁

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


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

原文地址:https://www.cnblogs.com/agilestyle/p/11395763.html