线程池
2021-01-07 03:28
标签:工厂 service get res 统一 稳定性 启动 处理过程 工厂方法 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。 如果并发请求数量很多,但每个线程执行的时间很短,就会出现频繁的创建和销毁线程。如此一来,会大大降低系统的效率,可能频繁创建和销毁线程的时间、资源开销要大于实际工作的需要。 正是由于这个问题,所以有必要引入线程池。使用 线程池的好处 有以下几点: Executor 框架是一个根据一组执行策略调用,调度,执行和控制的异步任务的框架,目的是提供一种将”任务提交”与”任务如何运行”分离开来的机制。 Executor 框架核心 API 如下: 参考 https://www.cnblogs.com/jingmoxukong/p/12090064.html 线程池 标签:工厂 service get res 统一 稳定性 启动 处理过程 工厂方法 原文地址:https://www.cnblogs.com/myitnews/p/12972911.html一、简介
什么是线程池
为什么要用线程池
二、Executor 框架
核心API概述
Executor - 运行任务的简单接口。ExecutorService - 扩展了 Executor 接口。扩展能力:
ScheduledExecutorService - 扩展了 ExecutorService 接口。扩展能力:支持定期执行任务。AbstractExecutorService - ExecutorService 接口的默认实现。ThreadPoolExecutor - Executor 框架最核心的类,它继承了 AbstractExecutorService 类。ScheduledThreadPoolExecutor - ScheduledExecutorService 接口的实现,一个可定时调度任务的线程池。Executors - 可以通过调用 Executors 的静态工厂方法来创建线程池并返回一个 ExecutorService 对象。
Executor
Executor 接口中只定义了一个 execute 方法,用于接收一个 Runnable 对象。public interface Executor {
void execute(Runnable command);
}
ExecutorService
ExecutorService 接口继承了 Executor 接口,它还提供了 invokeAll、invokeAny、shutdown、submit 等方法。public interface ExecutorService extends Executor {
void shutdown();
List