我每 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 是否消耗更多的系统资源?