Timer結合TimerTask替代子線程循環操作

平常我們使用的子線程都是在run方法內寫while(flag)循環,通過外界改變flag去

終止線程,現在我們有了一個新的方法通過計時器去操作,首先寫一個TimerTask對象。

	private class MyTask extends TimerTask {
		
		@Override
		public void run() {
			//執行操作語句
		}
	}
開啓線程,timer.schedule(,,)安排指定的任務從指定的延遲後開始進行重複的固定延遲執行.

	public void start(View v) {
		if(timer == null) {
			timer = new Timer();
		}
		if(mTask == null) {
			// 創建任務對象
			mTask = new MyTask();
			// 執行任務
			timer.schedule(mTask, 0, 50);
		}
	}
	

終止線程

	public void stop(View v) {
		// 將指定計時器中的所有任務全部都停止掉
		// timer.cancel();
		if(timer != null && mTask != null) {
			mTask.cancel();
			mTask = null;
		}
	}




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