ThreadPoolExecutor源码shutdown问题 10C

图片说明
上图中的方法是ThreadPoolExecutor中shutdown中执行的中断空闲线程的方法,在此方法中会执行tryLock()方法,在下图中会从队列中获取执行任务,然后获取锁图片说明
使我疑惑的地方是如果任务获取成功但是还没有获取锁的时候,那么interruptIdleWorkers中就会获取到锁,从而认为线程是空闲的,然后发送中断信息,那么此时获取的task岂不就不能执行了?忘大神解答,不胜感激

1个回答

olExecutor源码shutdown问题 10C
图片说明
上图中的方法是ThreadPoolExecutor中shutdown中执行的中断空闲线程的方法,在此方法中会执行tryLock()方法,在下图中会从队列中获取执行任务,然后获取锁图片说明,
使我疑惑的地方是如果任务获取成功但是还没有获取锁的时候,那么interruptIdleWorkers中就会获取到锁,从而认为线程是空闲的,然后发送中断信息,那么此时获取的task岂不就不能执行了?忘大神解答,不胜感激

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问