信号量Semaphore,类似于锁的功能,用于多线程中对一组资源的控制. acquire方法用于尝试获取一个资源,未获取前将一直等待.release用于释放一个资源,release的前提是已经获得了一个资源. package multiThread; import java.util.concurrent.Semaphore; public class SemaphoreTest { public static void main(String [ ] args) { int N = 8; //…
1. 线程生命周期 新建(New).就绪(Runnable).运行(Running).阻塞(Blocked)和死亡(Dead)5种状态. 1.1. 新建 l new关键字创建了一个线程之后,该线程就处于新建状态 l JVM为线程分配内存,初始化成员变量值 1.2. 就绪 l 当线程对象调用了start()方法之后,该线程处于就绪状态 l JVM为线程创建方法栈和程序计数器,等待线程调度器调度 1.3. 运行 l 就绪状态的线程获得CPU资源,开始运行run()方法,该线程进入运行状…