1
我一直在尋找java.uti.concurrent.locks.AbstractQueuedSynchronizer的源代碼和獲取()方法看起來是這樣的 -爲什麼AbstractQueuedSynchronizer的中斷上acquring鎖
public final void acquire(int arg) {
if (!tryAcquire(arg) &&
acquireQueued(addWaiter(Node.EXCLUSIVE), arg))
Thread.currentThread().interrupt();
}
它爲什麼會中斷線程調用acquire()?如果在線程run()方法中檢查了某處,那麼在調用acquire()之後它可能會傳遞,這可能是不受歡迎的,並且不符合要求?
任何人都在關注爲什麼上面這段代碼能做到這一點?