Java线程:线程之间的ExecutorService延迟

时间:2012-01-06 15:25:25

标签: java multithreading

我知道使用sleep方法延迟线程的传统方法。我的问题应该是以下内容:

ExecutorService threadExecutor = Executors.newFixedThreadPool(5);  

有没有办法说使用ExecutorService类在不使用sleep方法的情况下在每个线程之间有延迟?我的意思是ExecutorService类中有一个方法用于此目的吗?

1 个答案:

答案 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);