安全的终止线程:

 使用interrupt来结束线程;
 timeGo=  new Thread(){
    @Override
    public void run() {

            while(true){
                try {
                sleep(2000);
                Message message =new Message();
                message.arg1=1;
                handler.sendMessage(message);}catch (InterruptedException e) {
                    e.printStackTrace();   
                    break;               //必须先捕获异常再break,才能安全结束;
                }
        }
    }
};

这样定义Thread 以后能够在须要的地方直接调用 timeGo.interrupt;安全

下面是使用判断标志来结束线程;ide

 public class ThreadSafe extends Thread {
    public volatile boolean exit = false; 
        public void run() { 
        while (!exit){
            //do something
        }
    } 
}
 /*
             * 须要执行的语句,在这里须要有改变flag的语句;让循环结束;循环结束后,run在执行完毕后会自行结束线程;
             */
相关文章
相关标签/搜索