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

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

返回值

布尔值,表示操作是否成功。

范例

示例 #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)