
java定时器,如何在任务中停止定时器,也就是说在执行的任务中,如果遇到某一情况,则停止定时器
2个回答
展开全部
调用任务的.cancel()方法,可以停下来。
追问
任务和调用 timer.schedule(task, 500L, 1000L);在不同的类中,我是想在任务中,如果遇到某一情况,停止,不能调用此task的cancel()方法
追答
就是在task的run()方法里
if(......){
cancel();
}
这样,就停了,不过怎么再唤起这个任务,我还没找到,这个我试了,
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
public static void main(String[] args) throws Exception {
Timer timer = new Timer();
timer.schedule(new task(), new Date(), 100);
}
}
class task extends TimerTask {
public void run() {
System.out.println("111");
this.cancel();
}
}
执行一次就停了。主线程却没有停。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询