(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é.
collectorUne 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 "Il y a actuellement {$worker->collect()} tâches sur la pile à collecter\n";
for ($i = 0; $i < 15; ++$i) {
$worker->stack(new class extends Threaded {});
}
echo "Il reste {$worker->collect()} tâches sur la pile à collecter\n";
$worker->start();
while ($worker->collect()); // bloque jusqu'à ce que toutes les tâches soient terminées
echo "Il y a maintenant {$worker->collect()} tâches sur la pile à collecter\n";
$worker->shutdown();L'exemple ci-dessus va afficher :
Il y a actuellement 0 tâches sur la pile à collecter Il reste 15 tâches sur la pile à collecter Il y a maintenant 0 tâches sur la pile à collecter