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

8个运动员等待一个裁判发令后才能起跑,如何用ReentrantLock的Condition实现绝对公平的同步?请说明await和signalAll的用法与原理。

歌尔股份后端开发人工智能编码实现问题拆解技术原理Java

考察说明

考察Java并发中Lock与Condition的协作机制及线程同步原理

回答思路

  1. 描述所有运动员线程获取同一把锁并调用await进入等待
  2. 说明裁判线程signalAll唤醒所有等待线程,保证同时起跑
  3. 解释await释放锁与signalAll不释放锁的区别
  4. 讨论绝对公平的边界:唤醒后仍需逐线程重新获取锁竞争
  5. 正确区分await/signalAll与Object.wait/notifyAll的对应关系
本题已收录答题指导

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

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