(PECL pthreads >= 3.0.0)
Worker::collect — Collecte les références des tâches terminées
Permet au worker de collecter les références déterminées comme étant des miettes par le collector éventuellement donné.
collector
Une fonction de rappel qui retourne un booléen sur la possibilité de collecter la tâche ou non. Seuls dans des cas rares un collecteur personnalisé devrait être utilisé.
Le nombre de tâches restantes sur la pile du worker à collecter.
Exemple #1 Un exemple basique de Worker::collect()
<?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()); // bloque jusqu'à ce que toutes les tâches soient terminées
echo "There are now {$worker->collect()} tasks on the stack to be collected\n";
$worker->shutdown();
L'exemple ci-dessus va afficher :
There are currently 0 tasks on the stack to be collected There are 15 tasks remaining on the stack to be collected There are now 0 tasks on the stack to be collected