Spring:具有基于日期时间的队列的任务执行器服务

Spring: Task Executor service with datetime based queue

我想为 Tasks 实现一个 Executor 服务,它将在 运行 一段时间后启动, 例如,假设我有这些任务;

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);