Cond
PHP Manual

Cond::wait

(PECL pthreads >= 2.0.0)

Cond::wait条件を待つ

説明

final public static boolean Cond::wait ( long $condition , long $mutex [, long $timeout ] )

条件変数上でシグナルを待ちます。オプションで、最大の待ち時間を指定できます。

パラメータ

condition

Cond::create() を呼んで取得した条件変数へのハンドル。

mutex

呼び出し元が Mutex::create() を呼んで所有 (ロック) しているミューテックスへのハンドル。

timeout

オプションのタイムアウト時間。マイクロ秒 (100 万分の 1 秒) 単位。

返り値

成功したかどうかを返します。

例1 条件の待機

<?php
/** この例は、プロセスをハングさせることに注意しましょう **/
$mutex Mutex::create(true);
/** "new" は使えません。Cond は PHP のオブジェクトではありません **/
$cond Cond::create();
/** 呼び出し側は、関連するミューテックスをロックしてからブロードキャストを呼ぶ必要があります **/
var_dump(Cond::wait($cond$mutex));
/** 自分が作った Cond は常に破棄します **/
Cond::destroy($cond);
Mutex::unlock($mutex);
Mutex::destroy($mutex);
?>

上の例の出力は以下となります。

int(49685473)


Cond
PHP Manual