1

我想从用户那里获取开始和结束时间,日期并从用户开始处理器开始时间和日期并结束到结束时间和日期。我如何在 TimerTask 中使用它。

4

2 回答 2

2

我会远离 Timers 和 TimerTasks,而是使用Executors.newScheduledThreadPool

参考https://stackoverflow.com/a/409993/628943

如果您正在寻找更高级别的 api,您可以使用 Quartz,或者如果您使用 Spring,您可以使用@Scheduledannotation。

于 2012-12-18T06:15:49.367 回答
0

主线程可以简单地休眠直到开始时间。

之后,让主线程启动一个 TimerTask,计划在结束时间激活,并开始执行它的工作。检查每个循环的线程是否被中断。

TimerTask 的工作是中断主线程。

所以当 TimerTask 激活时,它会中断主线程。由于其线程被中断,主线程将退出其作业执行循环。

于 2012-12-18T06:15:40.477 回答