PHP - Fonction Worker :: collect ()

La fonction Worker :: collect () peut collecter des références aux tâches terminées.

Syntaxe

public int Worker::collect([ Callable $collector ] )

La fonction Worker :: collect () peut permettre à un worker de collecter des références déterminées comme étant des déchets par le collecteur éventuellement donné.

La fonction Worker :: collect () peut renvoyer le nombre de tâches restantes sur la pile du travailleur à collecter.

Exemple

<?php
   $worker = new Worker();
   echo "There are currently {$worker->collect()} tasks on the stack to be collected\n";

   for($i = 0; $i < 15; ++$i) {
      $worker->stack(new class extends Threaded {});
   }
   echo "There are {$worker->collect()} tasks remaining on the stack to be collected\n";

   $worker->start();
   while($worker->collect()); // blocks until all tasks have finished executing
   echo "There are now {$worker->collect()} tasks on the stack to be collected\n";
   $worker->shutdown();
?>