小编CLI*_*CLI的帖子

如何使用 ExecutorService 调度多个任务

我每 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);
Run Code Online (Sandbox Code Playgroud)

选项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);
Run Code Online (Sandbox Code Playgroud)

我的问题是哪个选项是首选?Option1 是否消耗更多的系统资源?

java executorservice scheduledexecutorservice

5
推荐指数
1
解决办法
966
查看次数