睡眠函数

最后更新于:2022-04-02 06:30:45

# 睡眠函数 [TOC] 最新的`4.2.0`版本增加了对`sleep`函数的`Hook`,底层替换了`sleep`、`usleep`、`time_nanosleep`、`time_sleep_until`四个函数。 当调用这些睡眠函数时会自动切换为协程定时器调度。不会阻塞进程。 ## 实例 ~~~ Swoole\Runtime::enableCoroutine(true); go(function () { sleep(1); echo "sleep 1s\n"; usleep(1000); echo "sleep 1ms\n"; }); ~~~ ## 例外 由于底层的定时器最小粒度是`1ms`,因此使用`usleep`等高精度睡眠函数时,如果设置为低于`1ms`时,将直接使用`sleep`系统调用。可能会引起非常短暂的睡眠阻塞。
';