多线程参数,如果不想任务放阻塞队列而是直接由空闲线程执行怎么办,用什么类型的队列?
考察说明
考察线程池任务分发策略与队列选择
回答思路
- 明确 SynchronousQueue 的特性:无缓存、直接传递
- 说明 SynchronousQueue 在 ThreadPoolExecutor 中如何实现空闲线程直接执行任务
- 对比有界/无界队列与 DirectHandoff 策略的适用场景
- 指出 SynchronousQueue 需要配合合适的拒绝策略(如 CallerRunsPolicy)避免任务丢失
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。