我将根据用户输入在 for 循环中创建许多线程。因此我无法为他们指定名称。有没有办法等待所有这些都完成才能继续我的主线程?我希望它们能够从 for 循环中完成。我知道我需要使用联接,但是有很多线程,我将如何使用它?或者还有别的办法吗?它将是这样的:
for(int i = 0; i<inputs.size(); i++)
new SimpleThread(parameters).start();
仅继续主线程,其他线程已完成。
我该怎么做?
最佳答案
将线程存储在 List<Thread>
中,然后迭代列表并使用 thread.join()
您还可以查看java.util.concurrent
艾滋病。 CyclicBarrier
或CountDownLatch
(如其他人指出的)例如。
关于java - 如何等待所有线程(可变数量的线程)完成并继续 Main?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4523050/