zoukankan      html  css  js  c++  java
  • ThreadPoolExecutor

    1 ThreadPool和ThreadFactory的区别

    前者是真正的thread pool,后者只是创建Thread对象的工厂,前者的thread都是后者创建的。

    2 配置参数

    2.1 keepAliveTime

    设置ThreadPool中处于idle状态的线程等待工作的时间,超过了这个时间该idel线程就会被销毁。

    2.2 corePoolSize

    core thread,如果不设置allowCoreThreadTimeOut的话,它们就是该thread pool中常驻的线程,就算一直没有task来,它们也一直会处于idle状态。而

    corePoolSize是设置的core thread的数目。在添加Runnable到任务队列的时候,当core thread数目小于它的时候,会向thread pool中继续添加新的线程。

    2.3 allowCoreThreadTimeOut

    是否允许core thread因为timeout被销毁。

    2.4 maximumPoolSize

    允许的最大的线程数目。

    假如core thread的数目已经超过了corePoolSize,但是添加任务的时候发现任务队列是满的,这个时候thread数目又没有超过maximumPoolSize,那么这个时候就继续增加新的线程,因为core线程已经忙不过来了。如果超过了maximumPoolSize的话,就拒绝任务的添加了,让这个任务在主线程中执行。

    3 实现的原理

    略。

  • 相关阅读:
    problem in Sourcetree
    Get started with Sourcetree
    IIS application pool access desktop denied
    结构型模式 适配器模式
    结构型模式 装饰模式
    结构型模式 代理模式
    创建型模式 原型模式
    创建型模式 建造者模式
    创建型模式 抽象工厂
    设计模式的六大原则
  • 原文地址:https://www.cnblogs.com/hustdc/p/8934195.html
Copyright © 2011-2022 走看看