【发布时间】:2017-03-02 06:45:29
【问题描述】:
我正在尝试每分钟运行一个作业 [其中包含 3 个应该并行运行的服务]。下面是我的代码 sn-p。
ExecutorService service = Executors.newFixedThreadPool(servicesMap.size());
for (Map.Entry entry : servicesMap.entrySet()) {
service.submit(new MyService(conn, serviceID));
// here serviceID is id1 id2 id3 these three job should execute parallel
}
注意:MyTask 实现 Callable & servicesMap 将始终为 3
如果我尝试使用 ScheduledExecutorService,那么我将无法实现它。 它说 scheduleService.schedule 不接受 Callable 类型参数
ScheduledExecutorService scheduleService = Executors.newScheduledThreadPool(servicesMap.size());
for (Map.Entry entry : servicesMap.entrySet()) {
scheduleService.schedule((new MyService(conn, serviceID)), 0, 60, TimeUnit.SECONDS);
}
请帮助修改 ScheduledExecutorService 代码以实现此目的。
【问题讨论】:
标签: java executorservice scheduledexecutorservice