Stackable
PHP Manual

Stackable::wait

(PECL pthreads >= 0.36)

Stackable::wait同期処理

説明

final public boolean Stackable::wait ([ string $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


Stackable
PHP Manual