我很擅长使用Java SchedulerThreadPoolExecutor
。我想问一下是否有办法实现与场景匹配的调度程序:
在时间t,调度程序将接收未处理和处理的所有任务。
在时间t + 1,有新的任务即将到来,但由于时间t的所有任务都没有处理完毕,调度程序无法接收它们。即使时间t的某些任务已完成处理,调度程序也无法从时间t + 1接收新任务,直到所有任务都已完全处理完毕。如果是这种情况,则调度程序将在时间t + 1阻止该任务。直到所有任务t + 1都已完全处理完毕,然后调度程序将在t + 1处接受新任务。
答案 0 :(得分:0)
您似乎想要定义任务处理周期,其中任务不会越过周期边界。两个问题/提示:
为什么需要使用SchedulerThreadPoolExecutor
?除非您打算使用类似计时器的功能,否则可能会与您的任务期限要求相冲突,只需要一个简单的ThreadPoolExecutor
即可。
您是否考虑过重构代码以使用invokeAll()
?