写一个java线程池工具类
时间: 2024-05-31 20:06:11 浏览: 200
好的,Java线程池是Java提供的一种线程管理机制,通过线程池可以更好地管理系统中的线程。下面我来介绍一下如何编写一个Java线程池工具类。
1. 创建一个ThreadPoolExecutor对象,用于管理线程池。
2. 定义一个任务类,该类实现Runnable接口,并重写run()方法,run()方法中实现具体的任务逻辑。
3. 在工具类中,定义一个execute()方法,用于向线程池提交任务,该方法接收一个Runnable对象作为参数,将该任务提交到线程池中。
4. 定义一个shutdown()方法,用于关闭线程池,该方法调用ThreadPoolExecutor的shutdown()方法即可。
5. 定义一个getActiveCount()方法,用于获取当前活跃的线程数,该方法调用ThreadPoolExecutor的getActiveCount()方法即可。
6. 可以根据需要定义其他方法,如getPoolSize()、getCorePoolSize()等。
下面是一个简单的Java线程池工具类示例:
```
import java.util.concurrent.*;
public class ThreadPoolUtil {
private static ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
5, // 核心线程数
10, // 最大线程数
60, // 线程空闲时间
TimeUnit.SECONDS, // 线程空闲时间单位
new LinkedBlockingQueue<>(), // 线程池任务队列
Executors.defaultThreadFactory(), // 线程工厂
new ThreadPoolExecutor.AbortPolicy() // 拒绝策略
);
public static void execute(Runnable task) {
threadPool.execute(task);
}
public static void shutdown() {
threadPool.shutdown();
}
public static int getActiveCount() {
return threadPool.getActiveCount();
}
}
```
阅读全文