简述多线程在Java中的应用案例
多线程在Java中主要应用于并发任务处理,提高程序的运行效率。以下是一个简单的应用案例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MultiThreadExample {
private static final int NUM_THREADS = 5; // 创建5个线程
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(NUM_THREADS); // 创建一个固定大小的线程池
// 将任务放入线程池
List<String> tasks = new ArrayList<>();
for (int i = 0; i < 10; i++) { // 假设每个任务耗时1秒
tasks.add("Task " + i);
}
executor.submit(() -> {
for (String task : tasks) {
System.out.println(task); // 执行任务并打印结果
try {
Thread.sleep(1000); // 模拟任务执行需要时间
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}));
// 关闭线程池,所有提交的任务会全部完成
executor.shutdown();
// 等待所有任务完成
while (!executor.isTerminated()) {
try {
Thread.sleep(1000); // 模拟程序主循环等待
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("All tasks completed!");
}
}
在这个案例中,我们创建了一个固定大小的线程池,并提交了10个耗时1秒的任务。通过模拟线程执行需要时间,确保所有任务都能在限定的线程数内完成。最后,程序会输出“All tasks completed!”表示任务全部完成。
还没有评论,来说两句吧...