Collect references to completed tasks

# Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collect — Collect references to completed tasks

### 说明

public function 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open