Thread::start
Thread::unlock
Thread
PHP Manual

# Thread::synchronized

Synchronization

### Description

final public mixed Thread::synchronized ( Closure `$block` [, mixed `$...` ] )

Executes the block while retaining the synchronization lock for the current context.

### Parameters

`block`

  The block of code to execute

`...`

  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

`<?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());
?>`

The above example will output:

    bool(true)