在Java中等待多个线程完成

致杰克逊:

在我的程序执行过程中,启动了多个线程。线程数量取决于用户定义的设置,但是它们都使用不同的变量执行相同的方法。

在某些情况下,需要在执行过程中进行清理,部分原因是停止所有线程,尽管我不希望它们立即停止,我只是设置了一个变量来检查它们是否终止。问题在于线程停止之前最多可能需要1/2秒。但是,我需要确保所有线程都已停止,然后才能继续进行清理。清理是从另一个线程执行的,因此从技术上讲,我需要该线程来等待其他线程完成。

我想到了几种方法,但它们似乎都过于复杂。我希望会有某种方法可以等待一组线程完成。像这样的东西存在吗?

谢谢。

乔恩·斯基特(Jon Skeet):

只要一一加入即可:

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

(您需要对做一些事情InterruptedException,并且您很可能希望提供一个超时以防万一出现问题,但这是基本思想……)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章