Java多模块下共用一个线程池配置代码,不要Executors创建
时间: 2024-02-24 07:55:55 浏览: 151
在Java多模块项目中共用一个线程池配置,可以将线程池配置代码写在一个公共的工具类中,然后在各个模块中调用该工具类即可。
具体实现步骤如下:
1.创建一个公共的线程池配置工具类,例如:
```java
public class ThreadPoolUtil {
private static ThreadPoolExecutor executorService = new ThreadPoolExecutor(10, 10,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
public static ThreadPoolExecutor getExecutorService() {
return executorService;
}
}
```
2.在需要使用线程池的模块中,调用该工具类获取线程池对象,例如:
```java
public class MyModule {
private static ThreadPoolExecutor executorService = ThreadPoolUtil.getExecutorService();
public void doSomething() {
executorService.execute(new Runnable() {
@Override
public void run() {
// 执行线程任务
}
});
}
}
```
通过上述方式,不同的模块均可共用同一个线程池配置,实现代码复用和统一管理。注意,使用ThreadPoolExecutor相较于Executors创建线程池,可以更加灵活地配置线程池参数。
阅读全文