java线程:中止(interrupt)!=stop
来源:互联网 发布:windows查询监听端口 编辑:程序博客网 时间:2024/05/22 14:08
之前认为线程执行interrupt()后,张志和就会终止,实际并非如此,只是执行中中断。
看如下程序:
public class Test{
private static boolean isInterrupt=true;
public static void main(String[] args) {
Thread t = new Test().new Thread1();
System.out.println("1:"+t.getName());
t.start();
System.out.println("2:"+t.getName());
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
stop();//如果没有此名,虽然会输出一部分数字,但线程不会停止,第二输以后会输出全部数字
t.interrupt();//如果没有此名,1.2.3.4.5.6会全部输出
//注意,stop()使线程终止是因为改变了isInterrupt=false;
}
class Thread1 extends Thread{
public void run(){
while(isInterrupt){
try {
System.out.println(1);
Thread.sleep(1000);
System.out.println(2);
Thread.sleep(1000);
System.out.println(3);
Thread.sleep(1000);
System.out.println(4);
Thread.sleep(1000);
System.out.println(5);
Thread.sleep(1000);
System.out.println(6);
System.out.println(Thread.currentThread().getName());
System.out.println(Thread.currentThread().isInterrupted());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public static void stop(){
isInterrupt = false;
}
}
- java线程:中止(interrupt)!=stop
- java中如何靠interrupt来停止stop一个线程
- 线程中断之interrupt和stop方法
- [JAVA] 中止线程
- java中的interrupt和stop方法——java中线程停止的方法
- java 多线程(1) join() / interrupt() 打断sleep() / stop() / run() / 线程停止的方法
- 停止Java线程,弃用stop()方法, 也要小心interrupt()方法
- Java中断机制 Interrupt and Stop
- 多线程基础四(二)、能停止的线程(异常法、sleep、return、interrupt、stop)
- Java多线程 -- 中断线程(Interrupt)
- JAVA线程的interrupt
- JAVA线程的interrupt
- JAVA线程的interrupt
- java 结束线程 interrupt()
- JAVA线程的interrupt
- JAVA线程的interrupt
- JAVA 线程中断interrupt()
- java线程停止interrupt
- 荣幸成为了设计模式之禅的试读员--致谢秦小波老师
- 听讲座
- 全选(CHECKBOX)
- 我的心得
- 设计模式使用原则
- java线程:中止(interrupt)!=stop
- 真是白痴啊
- 连接数据库
- c# 线程池中使用AutoResetEvent(事件)
- 北邮复试上机自测题
- Java中异常处理
- 栈的简单操作
- FreeTextBox使用方法
- 大本营更新公告2010年第12周(3月22日~3月26日)