Semaphore内部主要通过AQS(AbstractQueuedSynchronizer)实现线程的管理。
Semaphore是Java.util.concurrent包中提供的一个线程同步工具类,它可以用来控制同时访问某个资源的线程数量。Semaphore内部使用了共享模式,并基于AQS(AbstractQueuedSynchronizer)来实现线程的同步和互斥。
https://www.cnblogs.com/nullzx/p/5270233.html
https://zhuanlan.zhihu.com/p/98593407
[Semaphore 代码示例和底层原理](https://gaohanghang.notion.site/Semaphore-d070e38bd8444c77ad89accba1f7ce7d)