线程池
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