终止线程的方式

1. 正常退出 程序运行结束,线程自动结束。 2. 退出标志 一般 run() 方法执行完,线程就会正常结束,然而,常常有些线程是伺服线程。它们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。使用一个变量来控制循环,例如:最直接的方法就是设一个 boolean 类型的标志,并通过

线程的生命周期

参考文献: 深入理解Java并发框架AQS系列(一):线程 1. 概述 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过 6 种状态: NEW-初始 RUNNABLE-可运行 BLOCKED-阻塞 WAITING-等待 TIMED_WAIT

线程的基本方法

1. 线程等待 wait 调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用 wait()方法后,会释放对象的锁。因此,wait 方法一般用在同步方法或同步代码块中。 2. 线程睡眠 sleep sleep 导致当前线程休眠,与 wait 方法不同的