我想获取开始和结束时间,来自用户的日期以及从用户启动处理器开始时间和日期并结束到结束时间和日期。我如何在TimerTask中使用它。
答案 0 :(得分:2)
我会远离Timers和TimerTasks,而是使用Executors.newScheduledThreadPool
参考https://stackoverflow.com/a/409993/628943
如果您正在寻找更高级别的apis,您可以使用Quartz,或者如果您使用的是Spring,则可以使用@Scheduled
注释。
答案 1 :(得分:0)
主线程可以直接睡到开始时间。
之后,主线程启动TimerTask,计划在结束时激活,并开始执行其工作。检查每个循环是否其线程被中断。
TimerTask的工作是中断主线程。
因此,当TimerTask激活时,它会中断主线程。由于线程被中断,主线程将退出其作业执行循环。