试试用Android写一个线程池的工具类
时间: 2023-07-04 21:05:03 浏览: 135
好的,以下是一个简单的线程池工具类的实现:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolUtil {
private static ExecutorService mExecutor;
/**
* 获取线程池对象
*
* @return ExecutorService对象
*/
public static synchronized ExecutorService getThreadPool() {
if (mExecutor == null) {
// 创建一个固定大小的线程池,大小为CPU核心数
int cpuCount = Runtime.getRuntime().availableProcessors();
mExecutor = Executors.newFixedThreadPool(cpuCount);
}
return mExecutor;
}
/**
* 提交一个Runnable任务到线程池中执行
*
* @param runnable Runnable任务
*/
public static void execute(Runnable runnable) {
getThreadPool().execute(runnable);
}
}
```
在这个工具类中,我们使用了单例模式来保证线程池对象只被创建一次。我们通过 `getThreadPool()` 方法获取线程池对象,如果线程池对象还没有被创建,我们会创建一个固定大小的线程池,大小为 CPU 核心数。同时,我们提供了 `execute()` 方法来提交一个 `Runnable` 任务到线程池中执行。
阅读全文