PHP Conference Kansai 2025

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collectColeta referências a tarefas concluídas

Descrição

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

Permite que o trabalhador colete referências determinadas como lixo pelo coletor fornecido opcionalmente.

Parâmetros

collector

Um coletor chamável que retorna um booleano informando se a tarefa pode ser coletada ou não. Somente em casos raros, um coletor personalizado precisa ser usado.

Valor Retornado

O número de tarefas restantes na pilha do trabalhador a serem coletadas.

Exemplos

Exemplo #1 Um exemplo básico deWorker::collect()

<?php
$worker
= new Worker();

echo
"Existem atualmente {$worker->collect()} tarefas na pilha a serem coletadas\n";

for (
$i = 0; $i < 15; ++$i) {
$worker->stack(new class extends Threaded {});
}

echo
"Existem {$worker->collect()} tarefas restantes na pilha para serem coletadas\n";

$worker->start();

while (
$worker->collect()); // bloqueia até que todas as tarefas tenham terminado de ser executadas

echo "Existem now {$worker->collect()} tarefas na pilha a serem coletadas\n";

$worker->shutdown();

O exemplo acima produzirá:

Existem atualmente 0 tarefas na pilha a serem coletadas
Existem 15 tarefas restantes na pilha para serem coletadas
Existem now 0 tarefas na pilha a serem coletadas

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top