boost :: condition_variable :: notify_one()函数是否会自动恢复正在解锁的线程的执行,还是未定义的线程,并且取决于操作系统如何调度线程?
我并不熟悉线程以及操作系统如何与它们交互,因此任何对notify_one()实现的了解都会有所帮助。
由于
答案 0 :(得分:1)
Boost没有恢复,也没有安排任何事情,它与操作系统进行对话,操作系统负责多任务处理。操作系统很可能在未来的某个时间解锁线程;你可以拥有一个带有保证的实时操作系统(比如“未阻塞的线程将始终在X毫秒内开始执行”),但是Boost不会尝试保证这一点。