Cond::wait

(PECL pthreads < 3.0.0)

Cond::wait等待

警告

pthreads v3 中已经将 Cond 类移除。

说明

final public static Cond::wait( int $condition , int $mutex , int $timeout = ?): bool

进入条件变量等待状态。通过 timeout 参数可以设置等待超时时间。

参数

condition

通过调用 Cond::create() 函数获得的条件变量句柄

mutex

通过调用 Mutex::create() 函数获得的互斥量,并且已经被调用者线程加锁。

timeout

等待超时,以毫秒为单位。

返回值

成功时返回 true, 或者在失败时返回 false

范例

示例 #1 等待条件变量

<?php
/** 请注意,本示例会导致进程挂起 **/
$mutex Mutex::create(true);
/** 不可以使用 new 关键字,因为 Cond 不是 PHP 对象 **/
$cond Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::wait($cond$mutex));
/** 永远不要忘记销毁你创建的条件变量及互斥量 **/
Cond::destroy($cond);
Mutex::unlock($mutex);
Mutex::destroy($mutex);
?>

以上例程会输出:

int(49685473)