略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Worker::collect

2024-11-15

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collectCollect references to completed tasks

说明

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

Allows the worker to collect references determined to be garbage by the optionally given collector.

参数

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

返回值

The number of remaining tasks on the worker's stack to be collected.

范例

示例 #1 A basic example of Worker::collect()

<?php
$worker 
= new Worker();

echo 
"There are currently {$worker->collect()} tasks on the stack to be collected\n";

for (
$i 0$i 15; ++$i) {
    
$worker->stack(new class extends Threaded {});
}

echo 
"There are {$worker->collect()} tasks remaining on the stack to be collected\n";

$worker->start();

while (
$worker->collect()); // blocks until all tasks have finished executing

echo "There are now {$worker->collect()} tasks on the stack to be collected\n";

$worker->shutdown();

以上例程会输出:

There are currently 0 tasks on the stack to be collected
There are 15 tasks remaining on the stack to be collected
There are now 0 tasks on the stack to be collected
add a noteadd a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/worker.collect.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3