首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collect — Collect references to completed tasks

Description

代码语言:javascript
复制
public int Worker::collect ([ Callable $collector ] )

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

Parameters

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.

Examples

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

代码语言:javascript
复制
<?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();

The above example will output:

代码语言:javascript
复制
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

← Worker

Worker::getStacked →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com