面试真题

操作系统 · 中等 · 腾讯

条件变量使用过程中,虚假唤醒是怎么产生的?

中等 操作系统 🎤 腾讯
参考答案
结论:虚假唤醒指线程在无显式通知时被唤醒。产生原因:多消费者下信号唤醒多线程但资源已被取走;系统库实现允许偶尔 spurious wakeup;信号中断或超时返回。原理:条件变量需配合互斥锁和while循环检查谓词,因为唤醒不保证条件真。示例:pthread_cond_wait返回后需重新判断条件,否则误认为有资源而越界。避免:用while而非if等待。
题目整理自公开面经,答案由校招宝自研生成,仅供参考