ReentrantLock の内部実装と AQS に基づくロック機構の詳細
Java の ReentrantLock は、AbstractQueuedSynchronizer(AQS)を基盤として実装されており、排他ロック(排他モード)を提供する同期ツールである。AQS では、スレッドの待ち状態を管理するために双方向連結リストが使用される。そのノード構造は以下の通り:
static final class Node {
volatile int waitStatus;
volatile Node prev;
volatile Node next;
...
6月8日 16:35 投稿