(PECL pthreads >= 0.40)
Thread::synchronized — 同期処理
ブロックを実行し、その間は現在のコンテキストでの同期ロックを保持します。
block
実行するコードブロック。
...
可変長の引数リスト。ブロックへの関数の引数として使います。
ブロックから返された値を返します。
例1 同期処理
<?php
class My extends Thread {
public function run() {
$this->synchronized(function($thread){
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
$thread->notify();
}, $my);
var_dump($my->join());
?>
上の例の出力は以下となります。
bool(true)