某旅游景点的厕所有10个坑,刚好来了十个人站满了
----------
核心线程数corePoolSize=10
这10个人还没上完,另外一个旅游团又来了30个人,大家很遵守纪律,在厕所外面排队,
排到20个人的时候,第21个人不耐烦了,心想轮到我的时候都憋死了,所以队伍只有20人
----------....................
任务队列容量queueCapacity=20
这时候一个善良的当地人来了,对多出来的人说我这里有几个秘密厕所,专门等着排队人数>20的时候才给人使用,你们可以在那里解决,但是秘密厕所只有9个,剩下的一个自己看着办吧
----------....................*********
最大线程数maxPoolSize=10+9=19
最后一个人有4种选择(rejectedExecutionHandler):
1.厕所不上了,拿出手机到处发帖:某某景区连厕所都不让人好好上(AbortPolicy 抛运行时异常)
2.就在厕所外面解决(CallerRunsPolicy 由主线程执行)
3.憋住!(DiscardPolicy 忽略)
4.踢出队列最前面的人,反正都憋这么久了,多等会没事(DiscardOldestPolicy )