为什么⽤线程池?解释下线程池参数?
为什么⽤线程池?
- 降低资源消耗;提⾼线程利⽤率,降低创建和销毁线程的消耗。
- 提⾼响应速度;任务来了,直接有线程可⽤可执⾏,⽽不是先创建线程,再执⾏。
- 提⾼线程的可管理性;线程是稀缺资源,使⽤线程池可以统⼀分配调优监控。
线程池有哪些参数?
- corePoolSize 代表核⼼线程数,也就是正常情况下创建⼯作的线程数,这些线程创建后并不会消除,⽽是⼀种常驻线程
- maxinumPoolSize代表的是最⼤线程数,它与核⼼线程数相对应,表示最⼤允许被创建的线程数,⽐如当前任务较多,将核⼼线程数都⽤完了,还⽆法满⾜需求时,此时就会创建新的线程,但是线程池内线程总数不会超过最⼤线程数
- ThreadFactory实际上是⼀个线程⼯⼚,⽤来⽣产线程执⾏任务。我们可以选择使⽤默认的创建⼯⼚,产⽣的线程都在同⼀个组内,拥有相同的优先级,且都不是守护线程。当然我们也可以选择⾃定义线程⼯⼚,⼀般我们会根据业务来制定不同的线程⼯⼚
- workQueue⽤来存放待执⾏的任务,假设我们现在核⼼线程都已被使⽤,还有任务进来则全部放⼊队列,直到整个队列被放满但任务还再持续进⼊则会开始创建新的线程
- keepAliveTime、 unit表示超出核⼼线程数之外的线程的空闲存活时间,也就是核⼼线程不会消除,但是超出核⼼线程数的部分线程如果空闲⼀定的时间则会被消除,我们可以通过 setKeepAliveTime 来设置空闲时间
- Handler任务拒绝策略,有两种情况,第⼀种是当我们调⽤ shutdown 等⽅法关闭线程池后,这时候即使线程池内部还有没执⾏完的任务正在执⾏,但是由于线程池已经关闭,我们再继续想线程池提交任务就会遭到拒绝。另⼀种情况就是当达到最⼤线程数,线程池已经没有能⼒继续处理新提交的任务时,这是也就拒绝
![](/assets/blank.gif)
为什么⽤线程池?解释下线程池参数?相关推荐
- 为什么用线程池?解释下线程池参数? -- Java面试
为什么用线程池 降低资源消耗.提高线程利用率,降低创建和小回县城的损耗. 提高响应速度.任务来了,直接有线程可用,而不是先创建线程再执行. 提高线程的可管理性.使用线程池可以统一分配调优监控. 解释下 ...
- 为什么用线程池?解释下线程池参数?线程池处理流程?阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?线程池中线程复用原理?
为什么用线程池?解释下线程池参数? 1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性: ...
- 谈谈面试题之为什么用线程池?解释下线程池参数?
一.为什么用线程池 1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性:线程是稀缺资源 ...
- 为什么用线程池?解释下线程池参数?
1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性:线程是稀缺资源,使用线程池可以统一分 ...
- linux+分离线程+退出,Linux下线程终止操作.pdf
Linux Linux LLiinnuuxx下线程的终止操作 简介: 简介: 简简介介:: 编写Linux下的多线程程序,需要使用头文件pthread.h, 编写Linux下的多线程程序,需要使用头文 ...
- 面试题 为什么用线程池?解释下线程池参数
- 为什么使用线程池,解释下线程池参数
- linux下c语言线程传参数,【linux】C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0...
C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0 本贴问题,之前已经提问过一次,当时已经解决了,原贴在这里https://segmentfault.com/q/1 ...
- Linux下线程池(ThreadPool)
目录 一.线程池相关概念及其优点 二.线程池的实现 一.线程池相关概念及其优点 线程池一种线程使用模式,线程过多会带来这个调度的开销进而影响整体的性能,而线程池是提前准备好了线程等待着管理者进行分配任 ...
最新文章
- CentOS7下vsftp配置
- python scipy卷积 图像卷积
- SQL对象名无效怎么办法 华骨龙
- Lodop 打印控件
- linux错误代码0x8008005,利用Windows10自带Linux学习(附带:0x8007019e错误解决方法)...
- r 64位连接mysql_R与Mysql数据库连接的两种方法
- ZigBee TI ZStack CC2530 8.4 如何用高版本IAR打开低版本协议栈
- js中的charAt,indexOf
- COSCon'20 Apache Roadshow- China 精彩收官 | 数据篇
- tdav_converter_video.cxx:49:9: error: ‘uint8’ does not name a type; did you mean ‘uint’?
- 【SQL Server】入门教程-基础篇(四)
- python--修改证件照的大小
- STM32库函数版IIC驱动OLED屏
- python画思维导图的英文_如何使用python做出思维导图
- Fater-RCNN
- 计算机编程英语单词多少,计算机编程常用英语单词
- Excel表格生成sql数据
- CCF C³活动第二期主题“智能家居”,与CTO聚首小米科技园!
- 多测师肖sir_高级金牌讲师_第2个月第18讲jenkins(001)
- 2022下半年火爆互联网商业模式揭晓,乐分享如何超强吸粉?详解