(PECL pthreads >= 0.40)
Stackable::synchronized — Synchronisation
Exécute le bloc tout en maintenant le verrou de synchronisation pour le contexte courant.
block
Le bloc de code à exécuter.
...
Liste d'arguments variables à utiliser comme arguments de la fonction du bloc de code.
La valeur retournée par le bloc de code.
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 **/)