最近看一个网上教程,类比讲解了银行排队和线程池的相关参数,觉得不错,摘录如下:

类比银行排队理解线程池_线程池


这里的corepool等于银行有2个活动的窗口应付客户,如果客户多的时候,就用阻塞队列,给用户去排队,

如果还是不行,人太多,就另外开多图中的3个线程来应付,直到线程数达到饱和(maximmpool),人爆满了,

就要丢弃策略,有4种丢弃策略:

类比银行排队理解线程池_线程池_02

 

类比银行排队理解线程池_线程池_03



  其中callrunspolicy,大概的意思可以理解为,人太多了,把新的顾客拒绝掉,让他先回去,等银行人少了,再继续接待了。

  一个经验值中,线程池要用的线程数公式:

类比银行排队理解线程池_线程池_04