java 线程 stop sleep interruptedException

stop方法是过时,不被推荐的。因为它直接杀死了进程,比如线程进在写,或是在打开一个资源,后果严重!除非不得已,比如线程无响应。、

<wbr></wbr>

run方法结束,就代表了线程被结束!!

<wbr></wbr>

interruptedException是一个抛异常模式,虽然它也不太好。但有一定特点。

<wbr></wbr>

public class  testthread{

 public static void main(){

  Runner1 r = new Runner1();

  Thread t = new Thread(r);

  t.start;

//主线程休眠10秒

  try(Thread.sleep(100000);){} 

    catch(interruptedException e){}

       //醒来后让子线程抛interruptedException导常,这个指子线程在休眠时被外部线程时调用则一定抛此异常。

       thread.interrup();

 }

 class Runner1 implements Runnable{

  public void run(){

    //while(true)代表无限循环

     while(true){

        ……………………

        try(sleep(10000)){

        }catch (interruptedException e){

           return;//被主线程在休眠时调用,进入catch 然后return,子线程就被结束了。其实在catch时还可以写点别的东西,看具体业务而定。

         }

    }

  }

 }

}



你可能感兴趣的:(exception)