Java 如何等待多个线程完成?

有什么方法可以简单地等待所有线程处理完成?例如,假设我有:

public class DoSomethingInAThread implements Runnable{

public static void main(String[] args) {

for (int n=0; n<1000; n++) {

Thread t = new Thread(new DoSomethingInAThread());

t.start();

}

// wait for all threads' run() methods to complete before continuing

}

public void run() {

// do something here

}

}

如何更改此main()方法,以便该方法在注释处暂停直到所有线程的run()方法退出?谢谢!

回答:

你将所有线程放入数组中,全部启动,然后进行循环

for(i = 0; i < threads.length; i++)

threads[i].join();

每个连接将阻塞,直到相应的线程完成为止。线程的完成顺序可能不同于你加入线程的顺序,但这不是问题:退出循环时,所有线程均已完成。

以上是 Java 如何等待多个线程完成? 的全部内容, 来源链接: utcz.com/qa/415985.html

回到顶部