Pool::collect

(PECL pthreads >= 2.0.0)

Pool::collectСобирает ссылки на выполненные задания

Описание

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

Метод разрешает пулу собирать ссылки, которые определились как мусор, дополнительным сборщиком.

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

collector

Callback-функция сборщика, которая возвращает логическое значение, которое указывает, собирать ли задачу. Пользовательский сборщик требуется только в редких случаях.

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

Метод возвращает количество задач в пуле, которое осталось собрать.

Список изменений

Версия Описание
PECL-модуль pthreads 3.0.0 Теперь возвращается целое число, а параметр collector теперь необязателен.

Примеры

Пример #1 Простой пример сборки ссылок методом Pool::collect()

<?php

$pool
= new Pool(4);

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

while (
$pool->collect()); // Пока каждая задача не закончит выполнение

$pool->shutdown();

?>