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