[英]How to determine whether the Timer task has completed
我有以下代碼:
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
}
};
timer.schedule(task, 10000);//execute after 10 seconds
我們可以確定該任務是否已經由計時器執行或者是否仍然有效?
添加一個簡單的變量,如..
boolean isTaskCompleted = false;
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// do stuff
isTaskCompleted = true;
}
};
timer.schedule(task, 10000);//execute after 10 seconds
當然,
class CustomTask extends TimerTask {
protected boolean isDone = false;
public boolean isDone() {return isDone; }
@Override
public void run() {}
}
CustomTask task = new CustomTask() {
@Override
public void run() {
isDone=true;
}
};
編輯:如果您對擴展類不滿意,可以使用scheduledExecutionTime()方法,如果尚未運行任務,則返回0。
http://docs.oracle.com/javase/6/docs/api/java/util/TimerTask.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.