0

我想为任务实现一个执行器服务,该服务将在一段时间后开始运行,例如假设我有这些任务;

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 正在运行...

我可以找出如何实现这一点。你能帮帮我吗?

4

1 回答 1

2

看看ScheduledThreadPoolExecutor。这是一个示例,展示了如何安排一个线程在 5 分钟内运行。

ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
Thread thread = new Thread();
executor.schedule(thread, 5, TimeUnit.MINUTES);
于 2019-10-01T18:48:37.710 回答