停止线程

来源:互联网 发布:鬼域结局什么意思 知乎 编辑:程序博客网 时间:2024/05/05 12:30
/*在新的jdk中测试,发现同步的也可以用一般的方法停止线程,不需使用interrupt;*/package stopThreadDemo;//停止线程示例class StopThreadDemo{public static void main(String[] args) {StopThread s=new StopThread();Thread t1=new Thread(s);Thread t2=new Thread(s);t1.setDaemon(true);t2.setDaemon(true);t1.start();t2.start();int num=0;while(true){     if(num++==60){ s.changeFlag(); t1.interrupt(); t2.interrupt(); break;} System.out.println(Thread.currentThread().getName()+"------"+num);}}}//停止线程class StopThread implements Runnable{   private boolean flag=true;   public synchronized void run() {       while(flag)   try   {wait();   }   catch (InterruptedException e)   {   System.out.println(Thread.currentThread().getName()+"--------Exception");   flag=false;   }   System.out.println(Thread.currentThread().getName()+"-----run");   }   public void changeFlag(){   flag=false;   }}

0 0
原创粉丝点击