Synchronization

Stackable::shift
Stackable::unlock
Stackable
PHP Manual

# Stackable::synchronized

(PECL pthreads >= 0.40)

Stackable::synchronized — Synchronization

### Description

final public mixed Stackable::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 Stackable {
public function run() {
$this->synchronized(function($object){
var_dump($object->isWaiting());
$object->notify();
}, $this);
}
}
/** create worker **/
$my = new My();
/** stack my **/
/** execute something here **/
$my->synchronized(function($object){
$object->wait();
}, $my);
?>`

The above example will output:

    bool(/** true or false **/)

Stackable::shift
Stackable::unlock
Stackable
PHP Manual