https://blog.csdn.net/weixin_43214609/article/details/101616329
说到创建线程的方法,少不了提到线程池,因为其有以下优点:
1.降低资源消耗(创建开销)
2.提高响应速率(无需等待)
3.提高可管理性(统一分配)
1.线程池的构成
1.核心线程池大小
2.阻塞队列:四种(数组、链表、同步、优先级)
3.最大线程池大小
4.饱和策略
5.生存时间:四种(抛异常不处理、抛异常调用者处理、丢弃最近一个线程处理新线程、不报异常不处理)
new ThreadPoolExecutor(传入参数)
2.线程池分配流程
1.先看核心线程池是否已满
2.再看阻塞队列是否已满
3.再看最大线程池是否已满
4.使用饱和策略
3.内置四大线程池
FixedThreadPool()固定大小线程池:负载较重
SingleThreadExecutor()单线程池:保证顺序
CachedThreadPool()缓存线程池:负载较轻
ScheduledThreadPool()定时线程池:定时任务