[英]How can I stop the Thread in Java?
我想啟動一個線程(在Java中)。 該線程應每5分鍾執行一次。 這個線程,啟動方法,如果方法返回true,我要停止線程。 我無法做到這一點。 這是我的代碼:
Timer timer = new Timer();
timer.schedule( new TimerTask()
{
public void run() {
verificaAssistenza ass = new verificaAssistenza();
if(ass.checkAssistenza())
//I WANT TO STOP THE THREAD
}
}, 0, 60*(1000*1));
只需取消TimerTask
if (ass.checkAssistenza()) {
cancel();
return;
}
從Javadoc:
取消此計時器任務。 如果已將任務計划為一次性執行並且尚未運行,或者尚未計划,則它將永遠不會運行。 如果計划將任務重復執行,則它將不再運行。 (如果在此調用發生時任務正在運行,則該任務將運行至完成,但將不再運行。)
如果計時器只有一個timerTask調用,則取消計時器本身:
final Timer timer = new Timer();
...
if (ass.checkAssistenza()) {
timer.cancel();
return;
}
采用:
timer.cancel();
timer.purge();
Oracle的文檔:
cancel ()終止此計時器,放棄任何當前計划的任務。
和
purge ()從此計時器的任務隊列中刪除所有取消的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.