使用超时加入多个线程

时间:2015-05-13 14:54:27

标签: java multithreading

我需要在超时的情况下加入多个线程。像Thread.join(long millis)这样的东西,但是对于多个线程。

我发现了一些关于加入多个线程的帖子,但没有关于加入超时的帖子。

我正在改变的代码是:

for (Thread thread : threads) {
    thread.join(units.toMillis(timeout));
}

但这明显等待每个线程分别等待threads.length * timeout。我想完全等待所有线程timeout

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

听起来你正试图用超时来实现障碍。你试过这个: http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html