线程池详细介绍
创始人
2024-03-18 23:09:52
  1. 线程池执行流程

在这里插入图片描述

  1. 线程池的状态

    • RUNNING
    • SHUTDOWN
    • STOP
    • TIDYING
    • TERMINATED
  2. 线程池优雅关闭

线程池有两个关闭方法,shutdown()shutdownNow()shutdown()切换到SHUTDOWN状态,shutdownNow()切换到STOP状态,当队列和线程池都为空的时候切换到TIDYING状态,最后执行terminated()进入到TERMINATED状态。

关闭线程池的时候,调用`shutdown()`和`shutdownNow()`线程池不会立即关闭。如果需要在线程池关闭之后做资源回收处理等,可以
调用`awaitTermination()`来等待线程池关闭;`awaitTermination()`会不断循环判断线程池是否达到了最终状态TERMAINATED。
如果是就返回,如果不是就通过 termination 条件变量阻塞一段时间,之后继续判断。

shutdown()不会清空任务队列,会等所有任务执行完成,只会中断空闲的线程;shutdownNow()会中断所有线程,清空任务队列。

    // executor.shutdownNow();executor.shutdown(); // 关闭线程池// 如果希望在线程池彻底关闭之后进行其他操作比如资源的回收等,可以:try {boolean flag = true;do {flag = !executor.awaitTermination(500, TimeUnit.MILLISECONDS);} while (flag);} catch (InterruptedException e) {// 异常处理}

线程池状态之间的迁移过程
在这里插入图片描述

  1. 线程池的拒绝策略

    • CallerRunsPolicy:调用者直接在自己线程里执行,线程池不处理;
    • AbortPolicy:线程池抛异常。默认拒绝策略;
    • DiscardPolicy:线程池直接丢掉任务;
    • DiscardOldestPolicy:删除队列中最早的任务,将当前任务入列;
  2. corePoolSize和maxPoolSize一般设置为多大

    • CPU密集型

      ​ CPU密集型就是指该任务需要大量计算而没有阻塞,CPU一直全速运行;CPU密集型只有在真正的多核CPU上才能得到加速(通过多线程)。CPU密集型任务配置尽可能少的线程数。

      CPU密集型线程数配置公式:CPU核数 + 1

    • I/O密集型

      ​ IO密集型指该任务需要大量的IO,即大量的阻塞。在单线程上运行IO密集型的任务会导致大量的CPU运算能力浪费在等待上。所以IO密集型任务中使用多线程可以大大加速程序运行。即使在单核CPU上,这种加速主要利用了被浪费掉的阻塞时间。

      由于IO密集型任务的线程并不是一直在执行任务,大部分线程都在阻塞,所以应配置尽可能多的线程

      • 配置方式一;

        IO密集型线程数配置公式一:CPU核数 * 2

      • 配置方式二

        IO密集型线程数配置公式二:CPU核数 / (1 - 阻塞系数) (阻塞系数在0.8到0.9之间)

        比如:8核 / (1 - 0.9) = 80个线程

      线程数量只增加不减少也不行。当负载降低时,可减少线程数量,如果一个线程空闲时间达到 keepAliveTime,该线程就退出。默认情况下线程池最少会保持 corePoolSize 个线程。

      maxPoolSize 最大线程数在生产环境上往往设置成corePoolSize一样,减少在处理过程中创建线程的开销

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...