方法
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
。数据由方法的调用者拥有。