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

  1. <?php
  2. class My extends Stackable {
  3. public function run() {
  4. $this->synchronized(function($object){
  5. var_dump($object->isWaiting());
  6. $object->notify();
  7. }, $this);
  8. }
  9. }
  10. /** Création d'un Worker **/
  11. $my = new My();
  12. /** On place My dans la pile **/
  13. /** Exécution de quelque chose ici **/
  14. $my->synchronized(function($object){
  15. $object->wait();
  16. }, $my);
  17. ?>

L'exemple ci-dessus va afficher :

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

LoadingChargement en cours