android 四类线程池的使用
时间: 2023-06-30 21:27:03 浏览: 117
在 Android 中,线程池主要有以下四种类型:
1. FixedThreadPool:该线程池中的线程数量是固定的,如果线程处于空闲状态,它们将会被保留在池中,当任务到达时,它们会被立即执行。如果线程池中的所有线程都处于忙碌状态,任务将会被放入到队列中等待执行。
2. CachedThreadPool:该线程池的线程数量是不固定的,线程数会根据任务的多少自动调整。如果有大量任务需要执行,会创建更多的线程来处理这些任务,如果有较少的任务需要执行,线程池中的线程数量会自动减少。
3. SingleThreadExecutor:该线程池中只有一个线程,所有任务将会在这个线程中按顺序执行。如果该线程因为异常而终止,那么将会创建一个新的线程来代替它。
4. ScheduledThreadPool:该线程池用于执行一些需要定时执行的任务,比如定时执行一些操作、周期性地执行某些任务等。
以下是一个使用 FixedThreadPool 的示例代码:
```
ExecutorService executorService = Executors.newFixedThreadPool(5);
// 提交任务给线程池执行
executorService.submit(new Runnable() {
@Override
public void run() {
// 执行任务的代码
}
});
// 关闭线程池
executorService.shutdown();
```
其他类型的线程池的使用方式与 FixedThreadPool 类似,只需要将 `Executors.newFixedThreadPool()` 替换为对应的方法即可。在使用线程池时,需要根据具体的业务需求选择合适的线程池类型。
阅读全文