java 多线程等所有线程都执行完成
时间: 2023-09-05 14:03:37 浏览: 80
使用Java实现多线程等待所有线程都执行完成可以使用Thread.join()方法。
在主线程中创建多个子线程,并调用start()方法启动它们。然后,使用一个for循环遍历线程数组,在每个线程上调用join()方法。这样,主线程将等待所有子线程执行完毕后再继续执行。
下面是一个简单的示例代码:
```java
public class MainThread {
public static void main(String[] args) {
// 创建线程数组
Thread[] threads = new Thread[5];
// 创建并启动子线程
for (int i = 0; i < threads.length; i++) {
threads[i] = new Thread(new MyRunnable());
threads[i].start();
}
// 等待所有子线程执行完成
for (Thread thread : threads) {
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
// 所有子线程执行完成
System.out.println("所有线程都执行完成!");
// 继续执行主线程的其他操作
// ...
}
public static class MyRunnable implements Runnable {
@Override
public void run() {
// 子线程的执行逻辑
// ...
System.out.println(Thread.currentThread().getName() + "执行完成");
}
}
}
```
这样,当所有子线程执行完成后,主线程将输出"所有线程都执行完成!",然后继续执行主线程中的其他操作。