安全的終止線程:

 使用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在執行完畢後會自行結束線程;
             */
相關文章
相關標籤/搜索