java for循环 多线程执行任务 并且等待完全返回
在Java中,可以使用多线程来执行任务,并且等待所有线程完成后再继续执行其他操作。下面是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) throws InterruptedException {
List<Thread> threads = new ArrayList<>();
// 创建并启动多个线程
for (int i = 0; i < 5; i++) {
Thread thread = new Thread(new Task());
threads.add(thread);
thread.start();
}
// 等待所有线程执行完毕
for (Thread thread : threads) {
thread.join();
}
// 所有线程执行完毕后继续执行其他操作
System.out.println("所有线程执行完毕,继续执行其他操作");
}
static class Task implements Runnable {
@Override
public void run() {
// 执行任务的代码
System.out.println("线程 " + Thread.currentThread().getId() + " 正在执行任务");
try {
// 模拟任务执行时间
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("线程 " + Thread.currentThread().getId() + " 完成任务");
}
}
}
在上面的代码中,首先创建了一个List用于保存所有的线程。然后使用for循环创建并启动了多个线程,每个线程执行一个任务。接下来使用另一个for循环来等待所有线程执行完毕,使用thread.join()方法来等待每个线程执行完毕。最后,在所有线程执行完毕后,输出一条消息表示所有线程执行完毕,然后可以继续执行其他操作。
注意:在多线程场景下,线程的执行顺序是不确定的,所以每次运行结果可能不同。
原文地址: http://www.cveoy.top/t/topic/ieCW 著作权归作者所有。请勿转载和采集!