线程池的核心参数

复制代码
 1  public static void main(String[] args) {
 2         ThreadFactory threadFactory = new ThreadFactory() {
 3             @Override
 4             public Thread newThread( Runnable r) {
 5                 Thread thread = new Thread();
 6                 thread.setName("11");
 7                 thread.setPriority(1);
 8                 return thread;
 9             }
10         };
11         //核心数量、最大值、存活时间、存活时间的单位、存储线程的队列、定义线程的工厂、拒绝策略
12 //        存储线程的队列
13 /*ArrayBlockingQueue:一个由数组结构组成的有界阻塞队列。
14 
15 LinkedBlockingQueue:一个由链表结构组成的有界阻塞队列。
16 
17 SynchronousQueue:一个不存储元素的阻塞队列,即直接提交给线程不保持它们。
18 
19 PriorityBlockingQueue:一个支持优先级排序的无界阻塞队列。
20 
21 DelayQueue:一个使用优先级队列实现的无界阻塞队列,只有在延迟期满时才能从中提取元素。
22 
23 LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。与SynchronousQueue类似,还含有非阻塞方法。
24 
25 LinkedBlockingDeque:一个由链表结构组成的双向阻塞队列(默认)。*/
26 
27 //        被拒绝的线程如何处理
28 //        1.直接抛出错误 (默认)  AbortPolicy
29 //        2.直接丢弃     DiscardPolicy
30 //        3.替换成存活时间最长的线程去执行 DiscardOldestPolicy
31 //        4.使用当前调用的线程来执行     CallerRunsPolicy
32 
33         ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 1, 10, TimeUnit.SECONDS, new LinkedBlockingDeque<>(), threadFactory);
34     }
复制代码

 

posted @   bai白  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示