方法
GLibCondwait
声明 [src]
void
g_cond_wait (
GCond* cond,
GMutex* mutex
)
描述 [src]
原子的释放 mutex 并等待直到 cond 被标记。当此函数返回时,mutex 会被再次锁定并归调用线程所有。
当使用条件变量时,可能会发生假唤醒(即:即使没有调用 g_cond_signal(),但 g_cond_wait() 可能会返回)。还可能发生偷来的唤醒。这是当调用 g_cond_signal() 时,但是另一个线程在当前线程之前获得了 mutex 并以某种方式修改了程序的状态,当 g_cond_wait() 能够返回时,期望的条件已经不再满足。
因此,必须始终在循环中使用 g_cond_wait()。请参阅 GCond 的文档以获取完整的示例。
参数
mutex-
类型:
GMutex一个当前被锁定的
GMutex。数据由方法的调用者拥有。