Worker::collect() 函数可以收集对已完成任务的引用。更多的相关函数请看:PHP Worker 函数
语法
public int Worker::collect([ Callable $collector ] )
Worker::collect() 函数允许 worker 收集由可选的给定收集器确定为垃圾的引用。
Worker::collect() 函数返回 worker 堆栈上要收集的剩余任务数。
示例
<?php
$worker = new Worker();
echo "stack 上当前有 {$worker->collect()} 个任务需要收集\n";
for($i = 0; $i < 15; ++$i) {
$worker->stack(new class extends Threaded {});
}
echo "stack 上还有 {$worker->collect()} 个任务需要收集\n";
$worker->start();
while($worker->collect()); // 阻塞,直到所有任务都完成执行
echo "现在 stack 上有 {$worker->collect()} 个任务需要收集\n";
$worker->shutdown();
?>