# Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collect — Collecte les références des tâches terminées

### Description

public Worker::collect(Callable `$collector` = ?): int

Permet au worker de collecter les références déterminées comme étant des miettes par le collector éventuellement donné.

### Liste de paramètres

`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é.

### Valeurs de retour

Le nombre de tâches restantes sur la pile du worker à collecter.

### Exemples

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