java线程池参数详解

java线程池参数详解java线程池参数详解核心线程数corePoolSize最大线程数maximumPoolSize空闲线程存活时间及单位keepAliveTime、unit工作队列新任务被提交后,会先进入到此工作队列中,任务调度时再从队列中取出任务。jdk中提供了四种工作队列:①ArrayBlockingQueue基于数组的有限阻塞队列,按照FIFO排序。新任务进来后,会放到该队列队尾线程工厂创建一个新线程时使用的工厂,可以用来设定线程名,是否为daemon守护线程等等。拒绝策略…

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述

java线程池参数详解

在这里插入图片描述

核心线程数 corePoolSize

线程池的常驻核心线程数

最大线程数 maximumPoolSize

线程池能够容纳同时执行的最大线程数

空闲线程存活时间及单位 keepAliveTime、unit

多余的空闲线程的存活时间。当空闲时间达到keepAliveTime时,多余的线程将被销毁,直至只剩下corePoolSize的数量为止。

工作队列 workQueue

被提交但尚未被执行的任务,新任务被提交后,会先进入到此工作队列中,任务调度时再从队列中取出任务。jdk中提供了四种工作队列:

① 有界队列 : ArrayBlockintQueue队列固定长度
② 无界队列 :LinkedBlockingQueue不设置上限
③ 同步移交队列:SynchronousQueue即队列长度为0
④ 延迟队列:DelayQueue 无界,元素有过期时间,过期的元素才能被取出(有延迟)

线程工厂 threadFactoy

创建一个新线程时使用的工厂,可以用来设定线程名,是否为daemon守护线程等等。

拒绝策略 handler

表示当前队列满了并且工作线程大于线程池的最大线程数(maximumPoolSize)时如何拒绝请求执行的Runnable的策略。

ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。 (线程池中默认的拒绝策略。)
ThreadPoolExecutor.DiscardPolicy:也是丢弃任务,但是不抛出异常。 默默丢弃
ThreadPoolExecutor.DiscardOldestPolicy:丢弃队列最前面的等待时间最久的任务,然后重新尝试执行任务(重复此过程)
ThreadPoolExecutor.CallerRunsPolicy:由调用线程处理该任务,谁调用返回给谁

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154032.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android点餐系统教程(登录篇)

    Android点餐系统教程(登录篇)前言:点餐系统融合知识也很多,最多的部分都是网络。本教程是本人亲自写。如有转载,需写明原作者喔。点餐系统作用性我懒的说,什么时候想到了再编辑吧。

    2022年6月19日
  • java android实例_Android开发精典案例60个

    java android实例_Android开发精典案例60个【实例简介】Android开发精典案例60个【实例截图】【核心代码】2-1(Activity生命周期)3-1(Button与点击监听器)3-10-1(列表之ArrayAdapter适配)3-10-2(列表之SimpleAdapter适配)3-11(Dialog对话框)3-12-5(Activity跳转与操作)3-12-6(横竖屏切换处理)3-3(ImageButton图片按钮)3-4(EditTe…

    2022年6月17日
  • sublime text3怎么批量查找替换文件夹中的字符

    sublime text3怎么批量查找替换文件夹中的字符

    2021年9月24日
  • excel转json的全套解决方案

    excel转json的全套解决方案首先准备图个excel:excel转json,使用的在线的一个工具:https://www.bejson.com/json/col2json/将上面代码先格式化,格式化网站如下:http://tool.oschina.net/codeformat/json然后将格式化的文本,复制粘贴到txt文本中将tx…

    2022年5月3日
  • 利用#ZipLib,完成C#下的解压缩「建议收藏」

    利用#ZipLib,完成C#下的解压缩「建议收藏」 ICSharpCode.SharpZipLib.dll是一个压缩的类库,似乎不是微软提供的1.BZip2    加入ICSharpCode.SharpZipLib.dll的引用,在#Develop的安装目录下的/SharpDevelop/bin目录下。然后在程序中使用using语句把BZip2类库包含进来。压缩:使用BZip2的静态方法Compress。    它的第一个参数是所要压缩

    2022年7月26日
  • 用python 画几个简单图案

    用python 画几个简单图案1turtleturtle这个库真的很好玩,用很简单几行代码就能画出好看的图案,最近无聊翻了翻之前自己画的哈哈哈哈,分享几个代码 画一个类似五颜六色的棒棒糖图案importturtl

    2022年7月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号