AQS

AQS

原理

AbstractQueuedSynchronizer(AQS) 的原理其实跟 信号量Semaphore 很像,其本质都差不多。
JDK 中各种各样的锁看起来眼花缭乱,本质上都是基于 AQS ,都是基于 Semaphore 的思想

其实没什么可讲的,从数据结构就看穿了
就这几个字段,
一个 Node 双向链表

关于 LockSupport,请看 LockSupport详解

详解

其中线程的启动停止,用到了 Unsafe 类中的线程操作,请看 转载:Java魔法类:Unsafe应用解析

实现自定义的 AQS