最近看一个网上教程,类比讲解了银行排队和线程池的相关参数,觉得不错,摘录如下:
这里的corepool等于银行有2个活动的窗口应付客户,如果客户多的时候,就用阻塞队列,给用户去排队,
如果还是不行,人太多,就另外开多图中的3个线程来应付,直到线程数达到饱和(maximmpool),人爆满了,
就要丢弃策略,有4种丢弃策略:
其中callrunspolicy,大概的意思可以理解为,人太多了,把新的顾客拒绝掉,让他先回去,等银行人少了,再继续接待了。
一个经验值中,线程池要用的线程数公式: