ExecutorService的创建方式

博客介绍了Python线程池相关参数。核心线程数一旦创建不再释放,未达指定数量会继续创建;最大线程数决定允许创建的最大线程量,非核心空闲超时而回收。还介绍了线程空闲保存时间、时间单位、任务队列、线程工程及阻塞处理程序等内容。

public ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit unit,
                              BlockingQueue<Runnable> workQueue,
                              ThreadFactory threadFactory,

corePoolSize :

  • 核心线程数,一旦创建将不会再释放
  • 如果创建的线程数还没有达到指定的核心线程数量,将会继续创建新的核心线程,直到达到最大核心线程数后,核心线程数将不在增加;
  • 如果没有空闲的核心线程,同时又未达到最大线程数,则将继续创建非核心线程;
  • 如果核心线程数等于最大线程数,则当核心线程都处于激活状态时,任务将被挂起,等待空闲线程来执行。

maximumPoolSize :

  • 最大线程数,允许创建的最大线程数量。
  • 如果最大线程数等于核心线程数,则无法创建非核心线程;
  • 如果非核心线程处于空闲时,超过设置的空闲时间,则将被回收,释放占用的资源。

keepAliveTime :

  • 也就是当线程空闲时,所允许保存的最大时间,
  • 超过这个时间,线程将被释放销毁,但只针对于非核心线程

unit :

  • 时间单位,TimeUnit.SECONDS等。

workQueue :

  • 任务队列,存储暂时无法执行的任务,等待空闲线程来执行任务。

threadFactory :  

  • 线程工程,用于创建线程。

handler :

  • 当线程边界和队列容量已经达到最大时,用于处理阻塞时的程序
     

转载于:https://my.oschina.net/u/3847203/blog/3054858

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值