Stackable
PHP Manual

Stackable::synchronized

(PECL pthreads >= 0.40)

Stackable::synchronizedSynchronisation

Description

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

Exécute le bloc tout en maintenant le verrou de synchronisation pour le contexte courant.

Liste de paramètres

block

Le bloc de code à exécuter.

...

Liste d'arguments variables à utiliser comme arguments de la fonction du bloc de code.

Valeurs de retour

La valeur retournée par le bloc de code.

Exemples

Exemple #1 Synchronisation

<?php
class My extends Stackable {
    public function 
run() {
        
$this->synchronized(function($object){
            
var_dump($object->isWaiting());
            
$object->notify();
        }, 
$this);
    }
}
/** Création d'un Worker **/
$my = new My();
/** On place My dans la pile **/
/** Exécution de quelque chose ici **/
$my->synchronized(function($object){
    
$object->wait();
}, 
$my);
?>

L'exemple ci-dessus va afficher :

bool(/** true ou false **/)


Stackable
PHP Manual