今天我们来一起聊一个问题: “被中断的线程,运行状态发生了什么变化”
Java中的中断并不是说会把正在运行的线程终止,而是仅仅设置下线程的中断标志,列如下面的代码:
package JavaDemo;
/**
* @program: JavaDemo
* @description:
* @author: 码上Java
* @create: 2019-05-25 16:39
*/
public class Main {
private static final String THREAD_NUM="biz-thread";
public static void main(String[] args) throws InterruptedException {
//创建线程,内部任务是死循环
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
for (;;){
System.out.println("I am a sub thread");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
//不捕获该异常
}
}
}
},THREAD_NUM);
//启动
thread.start();
//用户线程休眠3s
Thread.sleep(3000);