1、降低资源消耗;提高线程利用率,降低创建和销毁线程的消耗。
2、提高响应速度;任务来了,直接有线程可用可执行,而不是先创建线程,再执行。
3、提高线程的可管理性;线程是稀缺资源,使用线程池可以统一分配调优监控。

  • corePoolSize 代表核心线程数,也就是正常情况下创建工作的线程数,这些线程创建后并不会 消除,而是一种常驻线程
  • maxinumPoolSize 代表的是最大线程数,它与核心线程数相对应,表示最大允许被创建的线程
    数,比如当前任务较多,将核心线程数都用完了,还无法满足需求时,此时就会创建新的线程,但 是线程池内线程总数不会超过最大线程数
  • keepAliveTime 、 unit 表示超出核心线程数之外的线程的空闲存活时间,也就是核心线程不会
    消除,但是超出核心线程数的部分线程如果空闲一定的时间则会被消除,我们可以通过setKeepAliveTime 来设置空闲时间
  • workQueue 用来存放待执行的任务,假设我们现在核心线程都已被使用,还有任务进来则全部放入队列,直到整个队列被放满但任务还再持续进入则会开始创建新的线程
  • ThreadFactory 实际上是一个线程工厂,用来生产线程执行任务。我们可以选择使用默认的创建
    工厂,产生的线程都在同一个组内,拥有相同的优先级,且都不是守护线程。当然我们也可以选择
    自定义线程工厂,一般我们会根据业务来制定不同的线程工厂
  • Handler 任务拒绝策略,有两种情况,第一种是当我们调用 shutdown 等方法关闭线程池后,这时候即使线程池内部还有没执行完的任务正在执行,但是由于线程池已经关闭,我们再继续想线程
    池提交任务就会遭到拒绝。另一种情况就是当达到最大线程数,线程池已经没有能力继续处理新提 交的任务时,这是也就拒绝。

为什么用线程池?解释下线程池参数?相关推荐

  1. 为什么用线程池?解释下线程池参数? -- Java面试

    为什么用线程池 降低资源消耗.提高线程利用率,降低创建和小回县城的损耗. 提高响应速度.任务来了,直接有线程可用,而不是先创建线程再执行. 提高线程的可管理性.使用线程池可以统一分配调优监控. 解释下 ...

  2. 为什么用线程池?解释下线程池参数?线程池处理流程?阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?线程池中线程复用原理?

    为什么用线程池?解释下线程池参数? 1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性: ...

  3. 谈谈面试题之为什么用线程池?解释下线程池参数?

    一.为什么用线程池 1.降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗. 2.提高响应速度:任务来了,直接有线程可用可执行,而不是先创建线程,再执行. 3.提高线程的可管理性:线程是稀缺资源 ...

  4. 为什么⽤线程池?解释下线程池参数?

    为什么⽤线程池? 降低资源消耗:提⾼线程利⽤率,降低创建和销毁线程的消耗. 提⾼响应速度:任务来了,直接有线程可⽤可执⾏,⽽不是先创建线程,再执⾏. 提⾼线程的可管理性:线程是稀缺资源,使⽤线程池可以 ...

  5. linux+分离线程+退出,Linux下线程终止操作.pdf

    Linux Linux LLiinnuuxx下线程的终止操作 简介: 简介: 简简介介:: 编写Linux下的多线程程序,需要使用头文件pthread.h, 编写Linux下的多线程程序,需要使用头文 ...

  6. 面试题 为什么用线程池?解释下线程池参数

  7. 为什么使用线程池,解释下线程池参数

  8. 浅谈线程池(下):相关试验及注意事项

    三个月,整整三个月了,我忽然发现我还有三个月前的一个小系列的文章没有结束,我还欠一个试验!线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池.之前我们讨论了线程池的作用.独立线程池的存在意义 ...

  9. Linux下线程池(ThreadPool)

    目录 一.线程池相关概念及其优点 二.线程池的实现 一.线程池相关概念及其优点 线程池一种线程使用模式,线程过多会带来这个调度的开销进而影响整体的性能,而线程池是提前准备好了线程等待着管理者进行分配任 ...

最新文章

  1. 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值
  2. 被动信息收集之RECON-NG(七)
  3. android 实现微信分享多张图片的功能
  4. 同居1月 VS 同居1年,太真实了...
  5. vs2005新建项目中没有ASP.NET WEB应用程序
  6. background-size
  7. 使用Struts 2的查询网格(无插件)
  8. ActiveMQ_2安装
  9. RecycleView的Item Decoration间隔样式
  10. Omi v1.0震撼发布 - 令人窒息的Web组件化框架
  11. Java学习之路 之 异常总结篇
  12. IntelliJ IDEA 创建 maven 创建java web 项目
  13. 万能的json格式化
  14. 【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载
  15. Visual Studio安装SVN过程及作用
  16. POJO有哪些要求?
  17. 电影评论 R文本挖掘-情感分析
  18. 读安晓辉老师的访谈有感
  19. 计算机毕业设计springboot+vue基本微信小程序的小区防疫监管系统
  20. mysql没有及时启动1053_mysql 启动 错误1053:服务没有及时响应启动或者控制请求

热门文章

  1. Atmel Studio 6.0 重新安装
  2. 路由器指定dns解析服务器设置
  3. 20系列和30系列显卡下的tensorflow-gpu环境配置,避坑指南
  4. NVIDIA Geforce显卡和AMD Radeon系列显卡知识
  5. 解决 NDP40-KB2468871不能安装
  6. 代码可读性为什么重要啊....人家读不出来不是更安全吗?
  7. LOESS局部加权非参数回归
  8. arcgis for Android 100.4 面积测量
  9. 孙子兵法的计是最早的SWOT分析,《孙子兵法》首先不是战法,而是不战之法。首先不是战胜之法,而是不败之法...
  10. MarkdownNote