Swoole\Atomic->wakeup

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


Latest version: pecl install openswoole-22.1.2

Declaration

<?php Swoole\Atomic->wakeup ( int $count = 0 )

Parameters

count

How many waiting processes to wakeup.

Return

Description

The Atomic can be used as a Lock for syncing between mutliple processes.

Wakeup other processes with wait status.

Atomic->wait and Atomic->wakeup can be used for synchronization between multiple processes. You should not use Swoole\Atomic->wait within coroutine context.

Example

<?php
$lock = new Swoole\Atomic;
if (pcntl_fork() > 0) {
    echo "master start\n";
    $lock->wait(1.5);
    echo "master end\n";
} else {
    echo "child start\n";
    sleep(1);
    $lock->wakeup();
    echo "child end\n";
}
Last updated on August 31, 2022