为什么用线程池?解释下线程池参数?
1、降低资源消耗;提高线程利用率,降低创建和销毁线程的消耗。
2、提高响应速度;任务来了,直接有线程可用可执行,而不是先创建线程,再执行。
3、提高线程的可管理性;线程是稀缺资源,使用线程池可以统一分配调优监控。
- corePoolSize 代表核心线程数,也就是正常情况下创建工作的线程数,这些线程创建后并不会 消除,而是一种常驻线程
- maxinumPoolSize 代表的是最大线程数,它与核心线程数相对应,表示最大允许被创建的线程
数,比如当前任务较多,将核心线程数都用完了,还无法满足需求时,此时就会创建新的线程,但 是线程池内线程总数不会超过最大线程数 - keepAliveTime 、 unit 表示超出核心线程数之外的线程的空闲存活时间,也就是核心线程不会
消除,但是超出核心线程数的部分线程如果空闲一定的时间则会被消除,我们可以通过setKeepAliveTime 来设置空闲时间 - workQueue 用来存放待执行的任务,假设我们现在核心线程都已被使用,还有任务进来则全部放入队列,直到整个队列被放满但任务还再持续进入则会开始创建新的线程
- ThreadFactory 实际上是一个线程工厂,用来生产线程执行任务。我们可以选择使用默认的创建
工厂,产生的线程都在同一个组内,拥有相同的优先级,且都不是守护线程。当然我们也可以选择
自定义线程工厂,一般我们会根据业务来制定不同的线程工厂 - Handler 任务拒绝策略,有两种情况,第一种是当我们调用 shutdown 等方法关闭线程池后,这时候即使线程池内部还有没执行完的任务正在执行,但是由于线程池已经关闭,我们再继续想线程
池提交任务就会遭到拒绝。另一种情况就是当达到最大线程数,线程池已经没有能力继续处理新提 交的任务时,这是也就拒绝。
为什么用线程池?解释下线程池参数?相关推荐
- 为什么用线程池?解释下线程池参数? -- Java面试
为什么用线程池 降低资源消耗.提高线程利用率,降低创建和小回县城的损耗. 提高响应速度.任务来了,直接有线程可用,而不是先创建线程再执行. 提高线程的可管理性.使用线程池可以统一分配调优监控. 解释下 ...
- 为什么用线程池?解释下线程池参数?线程池处理流程?阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?线程池中线程复用原理?
为什么用线程池?解释下线程池参数? 1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性: ...
- 谈谈面试题之为什么用线程池?解释下线程池参数?
一.为什么用线程池 1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性:线程是稀缺资源 ...
- 为什么⽤线程池?解释下线程池参数?
为什么⽤线程池? 降低资源消耗:提⾼线程利⽤率,降低创建和销毁线程的消耗. 提⾼响应速度:任务来了,直接有线程可⽤可执⾏,⽽不是先创建线程,再执⾏. 提⾼线程的可管理性:线程是稀缺资源,使⽤线程池可以 ...
- linux+分离线程+退出,Linux下线程终止操作.pdf
Linux Linux LLiinnuuxx下线程的终止操作 简介: 简介: 简简介介:: 编写Linux下的多线程程序,需要使用头文件pthread.h, 编写Linux下的多线程程序,需要使用头文 ...
- 面试题 为什么用线程池?解释下线程池参数
- 为什么使用线程池,解释下线程池参数
- 浅谈线程池(下):相关试验及注意事项
三个月,整整三个月了,我忽然发现我还有三个月前的一个小系列的文章没有结束,我还欠一个试验!线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池.之前我们讨论了线程池的作用.独立线程池的存在意义 ...
- Linux下线程池(ThreadPool)
目录 一.线程池相关概念及其优点 二.线程池的实现 一.线程池相关概念及其优点 线程池一种线程使用模式,线程过多会带来这个调度的开销进而影响整体的性能,而线程池是提前准备好了线程等待着管理者进行分配任 ...
最新文章
- 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值
- 被动信息收集之RECON-NG(七)
- android 实现微信分享多张图片的功能
- 同居1月 VS 同居1年,太真实了...
- vs2005新建项目中没有ASP.NET WEB应用程序
- background-size
- 使用Struts 2的查询网格(无插件)
- ActiveMQ_2安装
- RecycleView的Item Decoration间隔样式
- Omi v1.0震撼发布 - 令人窒息的Web组件化框架
- Java学习之路 之 异常总结篇
- IntelliJ IDEA 创建 maven 创建java web 项目
- 万能的json格式化
- 【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载
- Visual Studio安装SVN过程及作用
- POJO有哪些要求?
- 电影评论 R文本挖掘-情感分析
- 读安晓辉老师的访谈有感
- 计算机毕业设计springboot+vue基本微信小程序的小区防疫监管系统
- mysql没有及时启动1053_mysql 启动 错误1053:服务没有及时响应启动或者控制请求
热门文章
- Atmel Studio 6.0 重新安装
- 路由器指定dns解析服务器设置
- 20系列和30系列显卡下的tensorflow-gpu环境配置,避坑指南
- NVIDIA Geforce显卡和AMD Radeon系列显卡知识
- 解决 NDP40-KB2468871不能安装
- 代码可读性为什么重要啊....人家读不出来不是更安全吗?
- LOESS局部加权非参数回归
- arcgis for Android 100.4 面积测量
- 孙子兵法的计是最早的SWOT分析,《孙子兵法》首先不是战法,而是不战之法。首先不是战胜之法,而是不败之法...
- MarkdownNote