java创建线程池参数_java创建线程的四种方式

java创建线程池参数_java创建线程的四种方式java如何创建线程池

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、工作中使用线程池的好处:
1.降低资源消耗,线程的创建和消耗是非常消耗资源的,使用线程池可以避免线程的频繁创建和消耗,从而降低资源消耗。
2.提高响应速度,当请求到达时,线程池可以为请求直接分配一个线程,因此就不用等待线程创建就可以立即执行。
3.线程池可以很好的管理线程。

二、java中有哪些常用的线程池(java.util.concurrent.Executors):
1.CachedThreadPool:可缓存线程池,它是一个可以无限扩大的线程池。
创建方法为:Executors.newCachThreadPool();
2.FixedThreadPool:固定线程池,即线程池中线程个数是固定的。
创建方法为:Executors.newFixedThreadPool(3);
3.SingleThreadExecutor:单线程线程池,即只创建一个工作线程来执行任务,单线程线程池最大的特点就是可以保证顺序执行各个任务。
创建方法为:Executors.newSingleThreadExecutcor();
4.ScheduleThreadPool:定长线程池,且支持定时及周期性任务。
创建方法为:Executors.newScheduleThreadPool(5);

三、这样创建线程池有什么问题:
上述线程池的创建方式,可能会导致OOM,例如:FixedThreadPool和SingelThreadPool允许的请求队列长度为:Integer.MAX_VALUE,这样可能堆积大量请求,导致OOM;而CachedThreadPool允许创建的线程数量为Integer.MAX_VALUE,这样可能创建大量的线程,导致OOM.。
所以建议通过ThreadPoolExecutor来创建线程池,方式如下:
new ThreadPoolExecutor(10,//核心线程数
20,//最大线程数
1L,//空闲线程存活时间
TimeUnit.MILLISECONDS,//空闲线程存活时间单位
new LinkedBlockingQueue(1024),//阻塞队列
new ThreadFactoryBuilder().setNameFormat(“demo-pool-%d”).build(),//线程工厂
new ThreadPoolExecutor.AbortPolicy());//拒绝策略

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

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

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


相关推荐

  • sqlite database browser 下载_数据库如何编辑所有行

    sqlite database browser 下载_数据库如何编辑所有行2019独角兽企业重金招聘Python工程师标准>>>…

    2025年10月12日
    2
  • 探索Java的日志世界

    探索Java的日志世界本文的思维导图一、主题打开日志的大门,探索的Java日志世界二、目标了解常用的日志框架掌握日志框架的选择和使用以及开发规范了解日志框架中的一些设计思想三、内容1、日志及日志框架简介1.1 、日志简介1.1.1 、 什么是日志?1)基本字义是指工作日志 ,详细介绍一个过程和经历的记录。 日志(汉语词汇)…

    2022年2月27日
    35
  • idea 2021.5.1 永久激活码【在线注册码/序列号/破解码】「建议收藏」

    idea 2021.5.1 永久激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    53
  • amd电脑安装Android失败,AMD显卡驱动安装失败

    amd电脑安装Android失败,AMD显卡驱动安装失败是WIN7的操作系统吧,必须要取得管理员权限。方法如下:1.右键单击“计算机”,进入“管理”找到“用户和组”2.找到administrators,右键调出属性,把“该账户已禁用”前面的勾去掉。回桌面3.新建“记事本”,copy如下内容:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\*\shell\runas]@=”管理员取得所有权”…

    2022年5月6日
    58
  • saxreader java_SAXReader saxReader = new SAXReader();来解析xml文件

    saxreader java_SAXReader saxReader = new SAXReader();来解析xml文件使用SAXReader需要导入dom4j-full.jar包。dom4j是一个Java的XMLAPI,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的JavaXMLAPI,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。/***解析XML文件,生成List*@paramfilePath–xm…

    2022年6月17日
    55
  • java 构造函数的作用_Java中构造函数的作用(转)

    java 构造函数的作用_Java中构造函数的作用(转)https://blog.csdn.net/vipmao/article/details/51530954,我觉得讲的非常好,学习到了构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化。如下:publicclassTest{privateStringname;//有参数的构造函数publicTest(Stringn…

    2025年9月2日
    9

发表回复

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

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