JAVA并发编程--Semaphore、CountDownLatch、ReentrantLock、CyclicBarrier
Semaphore学习操作系统理论课的时候,教材上应该都会讲过信号量这种概念,java.util.concurrent.Semaphore类就是Java中这个概念的实现。比如资源R有5个实体,如果每个线程执行的过程中需要用到1个,那么允许5个线程并发执行,第6个会等待其他线程释放资源后继续执行。Semaphore实际上就是把锁的限制从1变为Nstate存储的是表示剩余可用资源的值Node采用的是S