Worker::collect — Сбор ссылок на выполненные задачи
(PECL pthreads >= 3.0.0)
Описание
Позволяет 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 задач