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

JAVA 线程池

时间:2018-08-27 14:04:02      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:需要   height   ice   idt   inf   log   time   线程池   构建   

  • ThreadPoolExecutor继承抽象类AbstractExecutorService,该类实现了两个interface:ExecutorService(子)和Executor(父);
  • 构建ThreadPoolExecutor时,需要如下参数:
    • corePoolSize: 线程池维护线程的最少数量
    • maximumPoolSize:线程池维护线程的最大数量
    • keepAliveTime: 线程池维护线程所允许的空闲时间
    • unit: 线程池维护线程所允许的空闲时间的单位
    • workQueue: 线程池所使用的缓冲队列
    • handler: 线程池对拒绝任务的处理策略
  • 创建线程方式:
    • 如果小于corePoolSize,Executor会添加一个新的线程,而不排队;
    • 如果大于corePoolSize,需通过队列如(SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue)处理请求,而不是添加一个新的线程;
    • 如果也无法排队,则创建一个新的线程,直至maximumPoolSize,最后采用拒绝策略处理;
  • 4种处理策略:

技术分享图片

 

JAVA 线程池

标签:需要   height   ice   idt   inf   log   time   线程池   构建   

原文地址:https://www.cnblogs.com/stpan/p/9541488.html

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