Java并发编程:线程池的创建和管理案例
在Java并发编程中,线程池是一种常用的线程管理模式。它能够管理和复用多个线程,从而提高系统处理任务的能力。
以下是一个创建和管理线程池的案例:
- 创建线程池(使用ThreadPoolExecutor)
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任务到线程池,会根据任务的优先级执行
for (int i = 0; i < 10; i++) {
Runnable task = () -> {
System.out.println("Task " + i + " is running by thread " + Thread.currentThread().getName());
try {
Thread.sleep(500); // 模拟耗时操作
} catch (InterruptedException e) {
e.printStackTrace();
}
};
executor.submit(task); // 提交任务到线程池
}
// 关闭线程池,释放资源
executor.shutdown();
}
}
- 管理线程池(检查状态、清理任务)
// 检查线程池的状态
if (!executor.isTerminated()) {
System.out.println("Warning: Some threads still exist in the pool!");
}
// 清理所有未完成的任务,关闭线程池
executor.shutdownNow(); // 立即关闭线程池
通过这个案例,你可以了解到如何创建和管理线程池,以满足Java并发编程中的需求。
还没有评论,来说两句吧...