GoLang Worker::collect

request it (344)
GoLang replacement for PHP's Worker::collect [edit | history]

Do you know a GoLang replacement for PHP's Worker::collect? Write it!

PHP Worker::collect

PHP original manual for Worker::collect [ show | php.net ]


(PECL pthreads >= 3.0.0)

Worker::collectCollect references to completed tasks


public int Worker::collect ([ Callable $collector ] )

Allows the worker to collect references determined to be garbage by the optionally given 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.

Return Values

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


Example #1 A basic example of Worker::collect()

= new Worker();

"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 {});

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


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

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


The above example will output:

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