java线程interrupt用法_Java 如何中断线程
本篇文章幫大家學(xué)習(xí)java 如何中斷線程,包含了Java 如何中斷線程使用方法、操作技巧、實(shí)例演示和注意事項(xiàng),有一定的學(xué)習(xí)價(jià)值,大家可以用來(lái)參考。
以下實(shí)例演示了如何使用interrupt()方法來(lái)中斷線程并使用 isInterrupted() 方法來(lái)判斷線程是否已中斷:public?class?Main?extends?Object
implements?Runnable?{
public?void?run()?{
try?{
System.out.println("in?run()?-?將運(yùn)行?work2()?方法");
work2();
System.out.println("in?run()?-?從?work2()?方法回來(lái)");
}
catch?(InterruptedException?x)?{
System.out.println("in?run()?-?中斷?work2()?方法");
return;
}
System.out.println("in?run()?-?休眠后執(zhí)行");
System.out.println("in?run()?-?正常離開(kāi)");
}
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()?-?離開(kāi)");
}
}
運(yùn)行結(jié)果:in?run()?-?將運(yùn)行?work2()?方法
in?main()?-?中斷其他線程
in?main()?-?離開(kāi)
C?isInterrupted()=true
in?run()?-?中斷?work2()?方法
總結(jié)
以上是生活随笔為你收集整理的java线程interrupt用法_Java 如何中断线程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GoF设计模式——单例模式(C++实现)
- 下一篇: Java commit()_Java X