Dutch PHP Conference 2025 - Call For Papers

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collectCollecte 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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top