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

条件变量应该在锁内还是锁外唤醒,这样做有什么问题?

新浪&微博后端开发风险判断技术原理问题排查

考察说明

考察条件变量与互斥锁配合的同步语义及死锁/唤醒丢失风险

回答思路

  1. 明确条件变量必须与互斥锁配合使用,等待前正确解锁
  2. 说明在持锁下调用signal/broadcast的合法性与时机
  3. 对比锁内唤醒与锁外唤醒在性能、死锁、唤醒丢失上的差异
  4. 解释条件检查必须用while循环而非if的原因
本题已收录答题指导

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

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