如何控制線程的生命

如何用程序控制線程的生命週期?

不能用suspend() , resume(), stop(), 因爲這三個是線程不安全的,已經被jdk淘汰。

可以用以下的代碼模式來控制線程的結束。

TestThread.java

package com.thread;

public class TestThread {

	
	public static void main(String[] args) {
		
		ThreadEnd t = new ThreadEnd();
		new Thread(t).start();
		for(int i =0 ; i< 100 ; i++){
			 
			if (i==50) {
				t.stopMe();
			}
			System.out.println("main() is running");
			
		}

	}

}

class ThreadEnd implements Runnable{
	
	boolean bflag = true;
	public void stopMe(){
	
		bflag = false;
	}
	
	public void run() {
		while(bflag){
			System.out.println(Thread.currentThread().getName()+"is running !");
		}
		
	}
	
	
}


注意:即在線程內部設置標誌位 bflag 來控制線程的結束。



發佈了49 篇原創文章 · 獲贊 13 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章