睡眠函数

最新的4.2.0版本增加了对sleep函数的Hook,底层替换了sleepusleeptime_nanosleeptime_sleep_until四个函数。

当调用这些睡眠函数时会自动切换为协程定时器调度。不会阻塞进程。

实例

Swoole\Runtime::enableCoroutine(true);

go(function () {
    sleep(1);
    echo "sleep 1s\n";
    usleep(1000);
    echo "sleep 1ms\n";
});

例外

由于底层的定时器最小粒度是1ms,因此使用usleep等高精度睡眠函数时,如果设置为低于1ms时,将直接使用sleep系统调用。可能会引起非常短暂的睡眠阻塞。


  • 消逝

    sleep后面是双引号,最后一行少了个;

  • 东风

    给对swoole感兴趣的朋友推荐一个swoole学习群:820469789,群里面每天会讲解swoole项目,还有大牛答疑解惑,学习与快乐同在。我们群是关于swoole学习的,希望大家多多交流。即使是小白也没有关系,只要加入QQ群,就可以获取一些免费的学习资料。