停止执行当前线程,直到某些条件成为真
语法
用法
CondWait ( handle , mutex )
参数
handle
条件变量的句柄,或失败时的空指针(0)。
mutex
与这个条件变量关联的互斥量,当测试条件时调用CondWait
说明
停止调用线程的功能,直到某个其他线程
CondSignal或
CondBroadcast为句柄。
一旦使用
CondCreate创建条件变量,并启动线程,其中一个可以设置为
CondWait为条件;他们将被停止,直到其他线程(989796015)等待线程可以重新启动。
CondBroadcast可用于重新启动等待条件的所有线程。必须在程序结束时使用
CondDestroy以避免在操作系统中泄露资源。
当调用
CondWait时,
mutex 应该已被锁定。互斥体的原子解锁将等待条件变量。当条件变量发出信号时,
mutex 将被再次锁定,然后在
CondWait调用之后执行将返回到线程。
例子
平台差异
- Condwait不适用于FreeBASIC的DOS版本/目标,因为DOS内核和所使用的扩展程序不支持多线程。
- 在Linux中,线程始终按照创建的顺序启动,这在Win32中是不可以假定的。这是一个操作系统,而不是FreeBASIC的问题。
方言差异
与QB差别
参考