请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于fixedThreadPool

你好老师,想请问下fixedThreadPool的corePoolSize就是这个pool刚创建出来就拥有的线程数对吧,在这里keepAliveTime是不是就没有意义了,因为fixedThreadPool的线程数是恒定的不会因为空闲而terminated对吧?

正在回答

1回答

翔仔 2020-06-19 01:20:43

同学好,还是有意义的,keepAliveTime是线程池中空闲线程等待工作的超时时间

FixedThreadPool的keepAliveTime=0, 也就是当线程池中的线程数大于corePoolSize, 多余的空闲线程会被立即终止,也就是说,虽然总数恒定是corePoolSize,但是里面的线程是能够被替换掉的

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕慕8136048 #1
    可是老师,源码里写的在FixedThreadPool中的maximumPoolSize和corePoolSize数量是一样的,这样不就不会有线程数大于corePoolSize的情况了吧,我的理解对吗
    回复 有任何疑惑可以回复我~ 2020-06-25 03:41:17
  • 翔仔 回复 提问者 weixin_慕慕8136048 #2
    同学好,是的呀,所以一旦大于corePoolSize,线程池由于是keepAliveTime=0,所以多出来的线程就会被立马干掉,看起来就是corePoolSize大小,但是会存在线程替换呢
    回复 有任何疑惑可以回复我~ 2020-06-25 04:12:21
  • 提问者 weixin_慕慕8136048 #3
    好的谢谢老师!
    回复 有任何疑惑可以回复我~ 2020-06-26 02:14:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信