后端岗位面试题更新 2026-08-05

Future 是如何感知线程执行结果的?

去哪儿旅行后端开发互联网/IT技术原理Java

考察说明

考察对 Future 异步任务结果获取机制和线程阻塞原理的理解

回答思路

  1. 说明 Future.get() 会阻塞当前线程直到任务完成
  2. 解释 FutureTask 内部状态转换(NEW->COMPLETING->NORMAL/EXCEPTIONAL)
  3. 描述 Callable.call() 返回结果赋值给 outcome 字段的过程
  4. 提到 get() 通过 LockSupport.park 或自旋等待状态变更并唤醒
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。