java线程interrupt用法_Java 如何中断线程
本篇文章幫大家學習java 如何中斷線程,包含了Java 如何中斷線程使用方法、操作技巧、實例演示和注意事項,有一定的學習價值,大家可以用來參考。
以下實例演示了如何使用interrupt()方法來中斷線程并使用 isInterrupted() 方法來判斷線程是否已中斷:public?class?Main?extends?Object
implements?Runnable?{
public?void?run()?{
try?{
System.out.println("in?run()?-?將運行?work2()?方法");
work2();
System.out.println("in?run()?-?從?work2()?方法回來");
}
catch?(InterruptedException?x)?{
System.out.println("in?run()?-?中斷?work2()?方法");
return;
}
System.out.println("in?run()?-?休眠后執行");
System.out.println("in?run()?-?正常離開");
}
public?void?work2()?throws?InterruptedException?{
while?(true)?{
if?(Thread.currentThread().isInterrupted())?{
System.out.println("C?isInterrupted()="?+?Thread.currentThread().isInterrupted());
Thread.sleep(2000);
System.out.println("D?isInterrupted()="?+?Thread.currentThread().isInterrupted());
}
}
}
public?void?work()?throws?InterruptedException?{
while?(true)?{
for?(int?i?=?0;?i?
int?j?=?i?*?2;
}
System.out.println("A?isInterrupted()="?+?Thread.currentThread().isInterrupted());
if?(Thread.interrupted())?{
System.out.println("B?isInterrupted()="?+?Thread.currentThread().isInterrupted());
throw?new?InterruptedException();
}
}
}
public?static?void?main(String[]?args)?{
Main?si?=?new?Main();
Thread?t?=?new?Thread(si);
t.start();
try?{
Thread.sleep(2000);
}
catch?(InterruptedException?x)?{
}
System.out.println("in?main()?-?中斷其他線程");
t.interrupt();
System.out.println("in?main()?-?離開");
}
}
運行結果:in?run()?-?將運行?work2()?方法
in?main()?-?中斷其他線程
in?main()?-?離開
C?isInterrupted()=true
in?run()?-?中斷?work2()?方法
總結
以上是生活随笔為你收集整理的java线程interrupt用法_Java 如何中断线程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GoF设计模式——单例模式(C++实现)
- 下一篇: MDN文档基础知识搜集