一键协程化,包括sleep、usleep、time_nanosleep、time_sleep_until;
底层的定时器最小粒度是1ms,因此使用usleep等高精度睡眠函数时,如果设置为低于1ms时,将直接使用sleep系统调用。可能会引起非常短暂的睡眠阻塞
use Swoole\Coroutine;
use function Swoole\Coroutine\run;
Coroutine::set(['hook_flags'=> SWOOLE_HOOK_SLEEP]);
run(function() {
go(function () {
sleep(1);
echo '1' . PHP_EOL;
});
go(function () {
echo '2' . PHP_EOL;
});
});