Thread到达所有代码后会发生什么?

时间:2014-01-12 09:33:21

标签: java multithreading runnable

我问这个是因为我在使用大量的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();

1 个答案:

答案 0 :(得分:4)

不,您不需要将interrupt调用作为run()方法的最后一行。 一旦线程完成其run()方法,它就完成了。您不需要像{I}那样明确地interrupt