java线程池ITeye - 牛牛娱乐

java线程池ITeye

2019年04月03日09时37分17秒 | 作者: 鸿才 | 标签: 线程,使命,工人 | 浏览: 582

每个变量的效果都现已标明出来了,这儿要要点解释一下corePoolSize、maximumPoolSize、largestPoolSize三个变量。

corePoolSize在许多当地被翻译成中心池巨细,其实我的了解这个便是线程池的巨细。举个简略的比方:

假如有一个工厂,工厂里边有10个工人,每个工人一起只能做一件使命。

因而只需当10个工人中有工人是闲暇的,来了使命就分配给闲暇的工人做;

当10个工人都有使命在做时,假如还来了使命,就把使命进行排队等候;

假如说新使命数目增加的速度远远大于工人做使命的速度,那么此刻工厂主管或许会想补救措施,比方重新招4个暂时工人进来;

然后就将使命也分配给这4个暂时工人做;

假如说着14个工人做使命的速度仍是不行,此刻工厂主管或许就要考虑不再接纳新的使命或许扔掉前面的一些使命了。

当这14个工人傍边有人闲暇时,而新使命增加的速度又比较缓慢,工厂主管或许就考虑辞掉4个暂时工了,只坚持本来的10个工人,究竟请额定的工人是要花钱的。

这个比方中的corePoolSize便是10,而maximumPoolSize便是14(10+4)。

也便是说corePoolSize便是线程池巨细,maximumPoolSize在我看来是线程池的一种补救措施,即使命量忽然过大时的一种补救措施。

不过为了便利了解,在本文后边仍是将corePoolSize翻译成中心池巨细。

largestPoolSize仅仅一个用来起记载效果的变量,用来记载线程池中从前有过的最大线程数目,跟线程池的容量没有任何关系。

下面咱们进入正题,看一下使命从提交到终究履行结束阅历了哪些进程。

在ThreadPoolExecutor类中,最中心的使命提交办法是execute()办法,尽管经过submit也能够提交使命,可是实际上submit办法里边终究调用的仍是execute()办法,所以咱们只需要研讨execute()办法的完成原理即可:

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    java线程池ITeye

    线程,使命,工人
  • 2
  • 3
  • 4

    修饰符ITeye

    润饰,能够,直接
  • 5
  • 6
  • 7

    第02章 根底中心ITeye

    目标,根底,中心
  • 8
  • 9
  • 10

    Java中字符串的使用ITeye

    字符串,字符,比较