信号量

juc下的smphone计数信号量,用于控制同时访问某资源的线程数量,也就是限流

可用来实现限流

用法:

Semaphore sp = new Semaphore(//可同时访问某资源的线程数量)

sp.acquire() 就会 permits ++

sp.acquire() 就会 permits ++

底层其实就是基于AQS实现的,跟ReentrantLock某种方面实现基本一致,只是计数器的实现不太一样