java - 如何让主线程等待所有子线程完成?

标签 java multithreading

一旦主方法执行,所有线程都在开始时被调用,我在代码中使用了超过 5 个线程,一旦所有线程都处于 Activity 状态,我希望主线程停止,直到所有子线程都死掉。如果我使用 join( ) 任何线程的方法,然后所有其他子方法也会暂停。在我的情况下,我需要单独暂停主线程。

最佳答案

您需要在所有线程启动后加入。即:

for(int i = 0; i < numThreads; i++) {
    threads[i].start();
}

只有这样:

for(int i = 0; i < numThreads; i++) {
    threads[i].join();
}

上面的方法可以工作。

关于java - 如何让主线程等待所有子线程完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38217859/

相关文章:

c - MacOS : Scheduler affinity seems not to work

c++ - 返回不同值的两个矩阵求和函数

java - 如何对多个方法使用同一个数据库连接(JAVA)

java - 如何 Autowiring 继承的Spring服务?

c++ - 嵌套的 DirectConnection 信号导致段错误

c# - 这是使用 System.Threading.Timer 运行计划的异步/等待方法的正确方法吗?

java - Android - 等待 Volley 响应继续

java - 循环遍历包含字符串和另一个映射的映射

java - 以下 java 程序关于使用 CountDownLatch 的输出

c# - 如何在非常大的输入上没有中间文件的情况下使用 GZipStream 进行多线程压缩/解压缩