java创建公共线程池
时间: 2024-08-14 19:01:20 浏览: 114
在Java中,创建公共线程池通常是为了提高程序性能、资源利用率和避免频繁地创建销毁线程。你可以使用`java.util.concurrent`包下的`ExecutorService`接口来创建线程池。以下是创建公共线程池的一个简单示例:
```java
import java.util.concurrent.*;
public class PublicThreadPool {
private static ExecutorService executor = Executors.newFixedThreadPool(5); // 创建固定大小的线程池,默认拒绝新任务
public static void execute(Runnable task) {
if (executor != null && !executor.isShutdown()) {
executor.execute(task);
}
}
public static void shutdown() {
if (executor != null && !executor.isTerminated()) {
executor.shutdown();
try {
if (!executor.awaitTermination(60, TimeUnit.SECONDS)) {
executor.shutdownNow(); // 如果等待超时,强制终止剩余任务
}
} catch (InterruptedException e) {
executor.shutdownNow(); // 如果中断,也强制终止
Thread.currentThread().interrupt();
}
}
}
}
```
在这个例子中,我们创建了一个固定大小的线程池,并通过`execute()`方法提交任务。当不需要线程池时,可以调用`shutdown()`来关闭它。
阅读全文