我问这个是因为我在使用大量的Thread.currentThread()时使程序崩溃.invent(); < ---这不是我的主线。
我想知道我真的需要Thread.currentThread()。interrupt();在最后一行?
我的代码:
final Runnable iPlusPlus = new Runnable(){
@Override
public void run(){
try{
do{
Thread.sleep(100);
i++;
if(isLiq >= 5){
isLiq = true;
}
}while(isLiq = false);
catch(InterruptedException e){
//Thread.currentThread().stop();
Thread.currentThread().interrupt(); //<---I mean last line.
}
Thread.currentThread().interrupt(); //<---I mean last line.
}
new Thread(iPlusPlus){
public void run(){
iPlusPlus.run();
}
}.start();
答案 0 :(得分:4)
不,您不需要将interrupt
调用作为run()
方法的最后一行。
一旦线程完成其run()
方法,它就完成了。您不需要像{I}那样明确地interrupt
。