Java JUC 中的基石: AQS 源码解读

以 ReentrantLock 类为例

在使用 ReentrantLock 类时,调用 lock() 方法,我们先来看一下 lock() 方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class ReentrantLock implements Lock, java.io.Serializable {

private final Sync sync;

abstract static class Sync extends AbstractQueuedSynchronizer {
...
}
...
public void lock() {
sync.acquire(1);
}
...
}
阅读更多