首页 > 编程语言 >java之线程池

java之线程池

时间:2023-02-23 11:13:27浏览次数:22  
标签:java 构造方法 创建 任务 线程 ThreadPoolExecutor

1.线程池的作用

    如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。

    那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务,在Java中可以通过线程池来达到这样的效果。

2.创建线程池

    java创建线程池只需要调用Executors中相应的方法就可以了,。

 3.ThreadPoolExecutor类

    上述所有方法其实都在方法内部条用一个 ThreadPoolExecutor类,构造方法内容如下:

构造参数意义如下:
1、corePoolSize 核心线程池大小;
2、maximumPoolSize 线程池最大容量大小;
3、keepAliveTime 线程池空闲时,线程存活的时间;
4、TimeUnit 时间单位;
5、ThreadFactory 线程工厂;
6、BlockingQueue任务队列;
7、RejectedExecutionHandler 线程拒绝策略;

4.线程执行方法:submit和execute类

 5.如何正确使用线程池

不要使用Executors.newXXXThreadPool()创建线程池,因为这种方式会使用无界的任务队列,为避免OOM我们应该使用ThreadPoolExecutor的构造方法创建线程池:
这样的明确指定参数的处理方式虽然很麻烦,但是会让写代码的人更加明确线程池的运行规则,规避资源耗尽的风险。

所以正确的打开方式如下:

 

标签:java,构造方法,创建,任务,线程,ThreadPoolExecutor
From: https://www.cnblogs.com/michaelShao/p/17147119.html

相关文章

  • Java后端培训机构哪个比较好?不了解怎么选
    Java后端培训机构哪个比较好?这样的问题,对于机构的评价每个人都有自己的想法和看法,不能一概而论。所以,小编觉得,我们在看别人推荐的时候也要有自己的判断,通过实地考察在与自......
  • 北京Java培训机构哪家比较好
    北京作为一线互联网发展城市,Java行业整体是很不错的,人才的需求量也非常大,就业前景与薪资待遇也很可观,所以,北京的Java培训相对来说是比较多的,到这里来学习的人也不少,大家都......
  • Java哪里培训好,需要考虑几个情况
    Java哪里培训好,事实上,正规的Java培训还是有不少的,并且不同城市的机构教学水平有这很大差距,这就会导致,最终的学习效果与成果也都存在一定的差距,所以,我们在选择Java培训的时......
  • Java工程师工资一般多少?是否是我们预期的那样呢
    关注互联网的同学想必是了解IT行业的,IT行业的岗位尤其是Java工程师不管是薪资还是待遇都属于行业中比较高的,而大家现在对于Java工程师的预期也是非常高的,那么2023新的一年......
  • Java 在线代码运行编译工具推荐
    Java在线运行编译,是一款可在线编程编辑器,在编辑器上输入Java代码,点击运行,可在线编译运行Java,Java代码在线运行调试,Java在线编译,可快速在线测试您的Java代码,在线编......
  • java使用Calendar加减天、周、月、年
    java.util.Calendar ,提供了计算时间的方式,Calendar.DATE :代表天数Calendar.WEDNESDAY:代表周数Calendar.MONTH:代表月数Calendar.YEAR:代表年数1、计算近一......
  • 一次排查Jvm线程飙升问题的经历
    问题发现通过线上Grafana监控发现某服务JVM-Thread线程异常高,并且发现每天都在持续飙升,如下。可看到jvm线程少说几百,多则几千甚至过万,并且如果服务不重启,可发现线程数随着......
  • Mongodb-使用javaDriver 实现增删改查
    1.回顾  上篇已经学习了使用Mongodb_C#Driver实现增删改查2.重点这篇将学习怎样使用和学习Mongodb_javaDriver实现增删改查3.准备篇   在使用的时候请先准......
  • Java培训班要多少钱?怎样才能把钱花在刀刃上
    Java培训班多少钱的问题一直是大家比较关注的话题,主要还是因为Java开发的行业薪资是IT行业的所有岗位中比较高的,待遇也是不错的。企业对于这类人才的需求也是逐年增加,这也......
  • Java高级培训班需要学习哪些重要的框架
    ​Java高级培训班需要学习哪些重要的框架?框架对于我们来说还是非常重要的知识点,在培训时不少机构会学习部分的ssh框架。但实际上,工作中更多的会用到ssm,所以我们在选择机......