8个运动员等待一个裁判发令后才能起跑,如何用ReentrantLock的Condition实现绝对公平的同步?请说明await和signalAll的用法与原理。
考察说明
考察Java并发中Lock与Condition的协作机制及线程同步原理
回答思路
- 描述所有运动员线程获取同一把锁并调用await进入等待
- 说明裁判线程signalAll唤醒所有等待线程,保证同时起跑
- 解释await释放锁与signalAll不释放锁的区别
- 讨论绝对公平的边界:唤醒后仍需逐线程重新获取锁竞争
- 正确区分await/signalAll与Object.wait/notifyAll的对应关系
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。