码迷,mamicode.com
首页 > 编程语言 > 详细

线程池

时间:2020-03-18 18:36:08      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:队列   两种   let   有一个   news   出现   workqueue   unit   Fix   

使用Executors可以生成的线程池

newFixedThreadPool 创建固定大小的线程池
newSingleThreadExecutor 创建只有一个线程的线程池
newCachedThreadPool 创建一个不限线程数上限的线程池,任何提交的任务都将立即执行
newScheduledThreadPool 定时或者延迟执行的线程池

使用上面的线程池会出现两种OOM

  1. 无限制的创建线程
  2. 等待队列无线扩展

由于这两种OOM,所以一般使用线程池需要使用new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue)或者它的重载生成

其中我们需要指定

                              corePoolSize:核心线程数量

                              maixmumPoolSize:最大线程数量

                              keepAliveTime:线程闲置存活时间

                              unit:keepAliveTime单位

                              workQueue:等待队列

                              rejectedHandler:拒绝的回调函数

 

线程执行的流程

技术图片

 

线程池

标签:队列   两种   let   有一个   news   出现   workqueue   unit   Fix   

原文地址:https://www.cnblogs.com/ocean-onion/p/12518987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!