乐观锁
很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量
AQS的锁类型有两种:Exclusive(独占锁),Share(共享锁)。
Exclusive(独占锁):每次都只有一个线程运行,例如ReentrantLock。
Share(共享锁):同时可以多个线程运行,如Semaphore、CountDownLatch、ReentrantReadWriteLock。
下面进行AQS源码:
ReentrantLock底层代码分析:
参考文章
版权声明:本文为Jay112011原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。