Threaded::shift
Threaded::unlock
Threaded
PHP Manual

# Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronized — Synchronization

### Description

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

Executes the block while retaining the referenced objects synchronization lock for the calling 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){
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)

Threaded::shift
Threaded::unlock
Threaded
PHP Manual