我知道使用sleep方法延迟线程的传统方法。我的问题应该是以下内容:
ExecutorService threadExecutor = Executors.newFixedThreadPool(5);
有没有办法说使用ExecutorService类在不使用sleep方法的情况下在每个线程之间有延迟?我的意思是ExecutorService类中有一个方法用于此目的吗?
答案 0 :(得分:11)
你的意思是
ScheduledExecutorService service = Executors.newScheduledThreadPool(5);
service.scheduleAtFixedRate(task, initialDelay, period, TimeUnit.MILLISECONDS);
如果你想要三个任务,相隔10秒就可以做到
service.execute(task1);
service.schedule(task2, 10, TimeUnit.SECONDS);
service.schedule(task3, 20, TimeUnit.SECONDS);