上图中的方法是ThreadPoolExecutor中shutdown中执行的中断空闲线程的方法,在此方法中会执行tryLock()方法,在下图中会从队列中获取执行任务,然后获取锁,
使我疑惑的地方是如果任务获取成功但是还没有获取锁的时候,那么interruptIdleWorkers中就会获取到锁,从而认为线程是空闲的,然后发送中断信息,那么此时获取的task岂不就不能执行了?忘大神解答,不胜感激
ThreadPoolExecutor源码shutdown问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- 普通网友 2016-10-07 17:21关注
olExecutor源码shutdown问题 10C
图片说明
上图中的方法是ThreadPoolExecutor中shutdown中执行的中断空闲线程的方法,在此方法中会执行tryLock()方法,在下图中会从队列中获取执行任务,然后获取锁图片说明,
使我疑惑的地方是如果任务获取成功但是还没有获取锁的时候,那么interruptIdleWorkers中就会获取到锁,从而认为线程是空闲的,然后发送中断信息,那么此时获取的task岂不就不能执行了?忘大神解答,不胜感激解决 无用评论 打赏 举报