核心线程数
最大线程数
线程存活时间
工作队列大小
指定饱和策略
1、默认情况下,创建线程池后,不会立即创建线程
2、每提交一个任务,创建一个线程,直到当前线程数达到核心线程数
3、当达到核心线程数,继续提交任务,任务会被放入工作队列中排队
4、当达到核心线程数,并且工作队列满了,则会继续创建线程,直到当前线程数达到最大线程数
5、当达到最大线程数,并且工作队列满了,继续提交任务,则会触发指定的饱和策略
6、当线程超过存活时间,标记为可回收,如果当前线程数超过核心线程数,这个线程将被终止
控制线程数量
管理线程生命周期
指定饱和策略
默认,直接抛出异常,RejectedExecutionException
捕获异常,编写处理代码
抛弃策略,不作任何处理
抛弃最旧策略,抛弃下一个即将被执行的任务
注意:不要与优先级队列一起使用
调用者运行策略,将任务返回给调用线程执行,占用调用线程,使其暂时不能提交任务
注意:请求保存在TCP层队列,造成服务器过载,影响调用线程性能
与线程池配合使用,保存等待执行的任务
列表队列,必须设置初始队列大小,先进先出
有界队列,工作队列满了,并且超过最大线程数,采取饱和策略
链表队列,先进先出
无界队列,超过核心线程数,任务将一直加入工作队列
超过最大线程数,采取饱和策略
直接提交队列,不是真正的队列,无任务缓存
特殊无界任务队列,根据优先级调度任务
Copyright ©2010-2022 比特日记 All Rights Reserved.