定时任务(TimeTask如何延期执行)
定义一个定时任务timerTask,将其提交到一个timer中,设定5分钟后执行该任务。现有需求如下:
定时任务的目的是执行一个业务操作,但此操作的执行前提是通过一个状态判定:假设这个判定叫flag,当flag=1的时候,可以执行那个业务操作,但是当flag=0,那么这个定时任务需要再延期一段时间(一段时间后,再次执行判定和业务操作)
timerTask的run方法里,写这个判定……
判定flag=1时,直接按预期计划执行这个定时任务中的业务逻辑,但当flag=0时,如何延期执行这个定时任务呢?
我之前直接用sleep方法,但这样会让这个线程处于等待状态,十分不妙(在大并发情况下,线程资源不能被这样浪费掉)。我的想法是,将这次的定时任务先取消掉,再把该定时任务扔到另一个timer中去定时,不知这样可否?
求助求助哇
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)