线程池

本文详细介绍了Java中五种线程池的使用,包括固定线程池、单线程池、无界线程池、定时线程池以及工作窃取线程池。每种线程池的核心参数如核心线程数、最大线程数、线程存活时间和等待队列等进行了深入解析,帮助理解线程池的工作原理和配置策略。

系统提供的线程池有4种,jdk1.8之后又增加的一种

1.定长线程池:Executors.newFixedThreadPool(int);

 创建固定大小线程池 , 可设置并发数 , 如果并发数已满 , 后续任务会 在 等待队列 中等待可用线程

2.单核心线程池:Executors.newSingleThreadExecutor();

3.无界(无限自动增长)Executors.newCachedThreadPool();

4.按计划(可延时执行)Executors.newScheduledThreadPool(int);

5.抢占式、定长、并发线程池(无序,线程随机执行)Executors.newWorkStealingPool(int);

前四种线程池最终全都是调用这个方法
ThreadPoolExecutor(int corePoolSize,
                          int maximumPoolSize,
                          long keepAliveTime,
                          TimeUnit unit,
                          BlockingQueue<Runnable> workQueue)
/*    序号    名称 类型 含义
1  corePoolSize   int    核心线程池大小
2  maximumPoolSize    int    最大线程池大小
3  keepAliveTime  long   线程最大空闲时间
4  unit   TimeUnit   时间单位
5  workQueue  BlockingQueue<Runnable>    线程等待队列
6  threadFactory  ThreadFactory  线程创建工厂
7  handler    RejectedExecutionHandler   拒绝策略*/

第五种线程池调用的是

ForkJoinPool(int parallelism,
                    ForkJoinWorkerThreadFactory factory,
                    UncaughtExceptionHandler handler,
                    boolean asyncMode)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值