(PECL pthreads >= 0.36)
Stackable::wait — 同期処理
$timeout
] )Stackable からの通知を待ちます。
timeout
オプションで指定するタイムアウト (ミリ秒単位)。
成功したかどうかを表す boolean 値を返します。
例1 通知と待機
<?php
class Work extends Stackable {
public function run() {
$this->synchronized(function($object){
printf("%s Synchronized\n", __CLASS__);
$object->notify();
}, $this);
}
}
class My extends Worker {
public function run() {
/** ... **/
}
}
$my = new My();
$my->start();
$work = array(new Work());
$my->stack($work[0]);
/** 待機するスレッドに通知を送信します **/
$work[0]->synchronized(function($object){
printf("Process Synchronized\n");
$object->wait();
}, $work[0]);
?>
上の例の出力は以下となります。
Process Synchronized Work Synchronized