ReentrantLock默认为非公平锁,非公平锁比公平锁效率高
非公平锁抢锁源码
公平锁抢锁源码
区别一:源码对比,发现非公平锁先cas一次自旋抢锁,自旋抢锁失败,会执行acquire(1)
acquire方法源码
非公平锁tryAcquire主要执行方法
公平锁tryAcquire主要执行方法
区别二:源码对比,发现公平锁考虑AQS锁队列中等待的线程,无队列才进行cas自旋操作
ReentrantLock默认为非公平锁,非公平锁比公平锁效率高
非公平锁抢锁源码
公平锁抢锁源码
区别一:源码对比,发现非公平锁先cas一次自旋抢锁,自旋抢锁失败,会执行acquire(1)
acquire方法源码
非公平锁tryAcquire主要执行方法
公平锁tryAcquire主要执行方法
区别二:源码对比,发现公平锁考虑AQS锁队列中等待的线程,无队列才进行cas自旋操作