Join 4,000+ others and never miss out on new tips, tutorials, and more.
4.x is outdated, please check the latest version 22.x
Latest version:
pecl install openswoole-22.1.2
<?php Swoole\Atomic->wait ( float $timeout = 1.0 )
Wait on the counter for $timeout
if no wakeup
from other processes.
The Atomic
can be used as a Lock
for syncing between mutliple processes.
Put the process into wait mode if the value of Swoole Atomic
is 0
. The other process can wakeup
the processes with wait
status.
Wait on the counter for $timeout
ms if no wakeup
from other processes.
<?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";
}