我想为任务实现一个执行器服务,它将在一段时间后开始运行, 例如,假设我有这些任务;
task1 = new Task(1,10) //Task with id 1 and will start after 10 min
task2 = new Task(2,15) //Task with id 2 and will start after 15 min
task3 = new Task(3,5) //Task with id 3 and will start after 5 min
task4 = new Task(4,30) //Task with id 4 and will start after 30 min
当我将所有这些提交给执行器服务时,我应该得到以下结果;
(5分钟后):
...任务 3 正在运行...
(10分钟后)
...任务 1 正在运行...
(15分钟后)
...任务 2 正在运行...
(30分钟后)
...任务 4 正在运行...
我可以找出如何实现这个。你能帮我解决一下吗?
最佳答案
看看ScheduledThreadPoolExecutor 。下面的示例展示了如何安排线程在 5 分钟内运行。
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
Thread thread = new Thread();
executor.schedule(thread, 5, TimeUnit.MINUTES);
关于java - Spring:具有基于日期时间的队列的任务执行器服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58190524/