java中的接口是类吗
418
2022-12-25
java安全停止线程的方法详解
Thread.stop()是一个被废弃的方法,不被推荐使用的原因是stop方法太过于暴力,强行把执行到一半的线程终止,并且会立即释放这个线程所有的锁。会破坏了线程中引用对象的一致性。
使用判断标志位的方法中断线程
interrupt() //线程中断 (标志位设置为true)
isInterrupted() //判断是否被中断
interrupted() //判断是否中断,并清除当前中断状态(标志位改为false)
public static class TestThread extends Thread{
public TestThread(String name){
super(name);
}
@Override
public void run() {
String threadName=Thread.currentThread().getName();
while (!isInterrupted()){ //Runnable中用 Thread.currentThread().isInterruputed
System.out.println(threadName+" is run");
}
System.out.println(threadName+" flag is "+isInterrupted());
}
}
vGDWfpublic static void main(String[] args) throws InterruptedException {
Thread testThread=new TestThread("test");
testThread.start();
Thread.sleep(2000);
testThread.interrupt();
}
当抛出 InterruptedException 异常,线程中断标志位会被复vGDWf位 false, 线程不会正常中断 ,需要手动中断interrhttp://upt()
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~