Threaded::synchronized
(PECL pthreads >= 2.0.0)
Threaded::synchronized — Synchronization
説明
Executes the block while retaining the referenced objects synchronization lock for the calling context
パラメータ
block
- The block of code to execute
args
- Variable length list of arguments to use as function arguments to the block
返り値
The return value from the block
例
例1 Synchronizing
<?phpclass My extends Thread { public function run() { $this->synchronized(function($thread){ if (!$thread->done) $thread->wait(); }, $this); }}$my = new My();$my->start();$my->synchronized(function($thread){ $thread->done = true; $thread->notify();}, $my);var_dump($my->join());?>
上の例の出力は以下となります。
bool(true)