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