- 睡眠函数
- 实例
- 例外
睡眠函数
最新的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系统调用。可能会引起非常短暂的睡眠阻塞。
