Pool::collect

(PECL pthreads >= 2.0.0)

Pool::collect回收已完成任务的引用

说明

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

对于视为垃圾的引用,使用给定的垃圾收集器进行收集

参数

collector

垃圾收集器,它返回一个布尔值表示这个任务是否可以被进行垃圾收集。 仅在极少的情况下需要一个自定义的垃圾收集器。

返回值

池中剩余的待收集的任务数量。

更新日志

版本 说明
v3 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();