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 **/)

LoadingChargement en cours