public final void acquire(int arg) {
if (!tryAcquire(arg) &&//FairSync 和 NonfairSync的tryAcquire(arg)实现不一样。FairSync实现:如果发现有其他线程正在排队获取锁,那么tryAcquire(arg)返回false表明尝试获取锁失败
acquireQueued(addWaiter(Node.EXCLUSIVE), arg))
selfInterrupt();
}
AbstractQueuedSynchronized源码探索
最新推荐文章于 2022-02-08 00:15:50 发布