【发布时间】:2016-12-21 15:06:07
【问题描述】:
我每 1 分钟执行三个独立任务。 在这里,我开发了两个选项。
选项1
ScheduledExecutorService service1 = Executors.newScheduledThreadPool(1);
ScheduledExecutorService service2 = Executors.newScheduledThreadPool(1);
ScheduledExecutorService service2 = Executors.newScheduledThreadPool(1);
service1.scheduleAtFixedRate(new task1(), 0, 60, TimeUnit.SECONDS);
service2.scheduleAtFixedRate(new task2(), 0, 60, TimeUnit.SECONDS);
service3.scheduleAtFixedRate(new task3(), 0, 60, TimeUnit.SECONDS);
选项2
ScheduledExecutorService service = Executors.newScheduledThreadPool(3);
service.scheduleAtFixedRate(new task1(), 0, 60, TimeUnit.SECONDS);
service.scheduleAtFixedRate(new task2(), 0, 60, TimeUnit.SECONDS);
service.scheduleAtFixedRate(new task3(), 0, 60, TimeUnit.SECONDS);
我的问题是首选哪个选项? Option1 是否会消耗更多系统资源?
【问题讨论】:
标签: java executorservice scheduledexecutorservice