Swoole\Coroutine\WaitGroup->wait

4.x is outdated, please check the latest version 22.x


Latest version: pecl install openswoole-22.1.2

Declaration

<?php Swoole\Coroutine\WaitGroup->wait(int $timeout = -1)

Parameters

timeout

The max time waiting for the group of coroutines to be finished.

Return

success

if success, it returns TRUE, otherwise it returns FALSE.

Description

Wait for all the coroutines to be finished. You can set a max timeout value. By default the main coroutine is waiting infinitely.

Example

<?php
declare(strict_types=1);

use Swoole\Coroutine\WaitGroup;

Co\run(function() {
    $wg = new WaitGroup();

    go(function () use ($wg) {
        $wg->add();
        co::sleep(3);
        $wg->done();
    });

    go(function () use ($wg) {
        $wg->add();
        co::sleep(7);
        $wg->done();
    });

    $wg->wait(10);
});
Last updated on August 31, 2022