package learn.thread;
/*
* 线程停止方法方法 -使休眠中的线程进入停止状态
* 报这个错,然后停止线程java.lang.InterruptedException: sleep interrupted
* 如果先设置停止状态后再休眠,会休眠后在退出
*/
public class Demo7 extends Thread {
public Demo7(String name) {
super(name);
}
String name;
@Override
public void run() {
// for (int i = 0; i < 500000; i++) {
// System.out.println("i: " + (i + 1));
// }
try {
Thread.sleep(20000);
System.out.println("我是他后面的代码,表示线程没有立即停止");
} catch (InterruptedException e) {
System.err.println("进入run的catch");
e.printStackTrace();
}
}
public static void main(String[] args) {
Demo7 t1 = new Demo7("A");
t1.start();
try {
Thread.sleep(1000);
System.out.println("线程是否中止状态: " + t1.isInterrupted());
// 标记线程中断方法
t1.interrupt();
System.out.println("线程是否中止状态: " + t1.isInterrupted());
} catch (InterruptedException e) {
System.out.println("进入catch");
e.printStackTrace();
}
System.out.println("end");
}
}
java多线程学习之停止休眠中的线程问题
最新推荐文章于 2024-03-19 01:00:00 发布