Php/docs/threaded.synchronized
From Get docs
Threaded::synchronized
(PECL pthreads >= 2.0.0)
Threaded::synchronized — Synchronization
Description
Executes the block while retaining the referenced objects synchronization lock for the calling context
Parameters
block
- The block of code to execute
args
- Variable length list of arguments to use as function arguments to the block
Return Values
The return value from the block
Examples
Example #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());?>
The above example will output:
bool(true)