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 задач