(PECL pthreads >= 3.0.0)

Описание

public int Worker::collect ([ Callable $collector ] )

Позволяет Worker собирать ссылки, определенные сборщиком как мусор.

Список параметров

collector

Вызываемый коллектор, возвращающий логическое значение о том, может ли задача быть собрана или нет. Только в редких случаях необходимо использовать пользовательский коллектор.

Возвращаемые значения

Число оставшихся задач в стеке Worker, которые необходимо собрать.

Примеры

Пример #1 A основной пример Worker:: collect()

<?php
$worker = new Worker();

echo "В настоящее время в стеке имеются задачи {$worker->collect()}, которые необходимо собрать\n";

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

echo "В стеке остаются задачи {$worker->collect()}\n";

$worker->start();

while ($worker->collect()); // блокирует выполнение всех задач

echo "В стеке теперь есть задачи {$worker->collect()}\n";

$worker->shutdown();

Результат выполнения данного примера:

В настоящее время в стеке собрано 0 задач
В стеке осталось собрать 15 задач
Теперь в стеке осталось 0 задач