这个问题已经在这里有了答案:




9年前关闭。






我想运行三个线程,每个线程调用不同的类。这些类进行一些处理并返回Boolean值,我想等到所有三个线程都返回它们的输出。我想知道如何使用Java来实现这一点。

谢谢

最佳答案

您可以使用Thread.join()来做到这一点:

Thread[] threads = new Thread[numOfThreads];
for (int i = 0; i < threads.length; i++) {
    threads[i] = new Thread(new Runnable() {
        public void run() {
            System.out.println("xxx");
        }
    });
    threads[i].start();
}

for (int i = 0; i < threads.length; i++) {
    try {
        threads[i].join();
    } catch (InterruptedException e) {
    }
}

为您的解决方案
Thread[] threads = new Thread[3];
threads[i] = new Thread(new Runnable() {
        ...
}).start();
threads[i] = new Thread(new Runnable() {
        ...
}).start();
threads[i] = new Thread(new Runnable() {
        ...
}).start();

for (int i = 0; i < threads.length; i++) {
    try {
        threads[i].join();
    } catch (InterruptedException e) {
    }
}

关于java - 线程等到所有线程都使用Java返回输出? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6569893/

10-10 05:03