php两分钟死循环内加usleep(500000);后为什么会卡死?

我做一个两分钟的死循环(超过两分钟会跳出),在循环内加usleep(500000);后会卡死,慢日志也会记录;去掉之后就没有事,想知道为什么?

这是慢日志

[0x00007f9cd9296868] usleep() /aa/www/Application/Home/Controller/AaController.class.php:174
[0x00007ffd08484540] checkse() unknown:0
[0x00007f9cd9295960] invoke() /aa/www/ThinkPHP/Library/Think/App.class.php:172
[0x00007f9cd9294e18] invokeAction() /aa/www/ThinkPHP/Library/Think/App.class.php:109
[0x00007f9cd9294c40] exec() /aa/www/ThinkPHP/Library/Think/App.class.php:203
[0x00007f9cd9293438] run() /aa/www/ThinkPHP/Library/Think/Think.class.php:120
[0x00007f9cd9291d50] start() /aa/www/ThinkPHP/ThinkPHP.php:97
[0x00007f9cd9291c00] +++ dump failed

这是代码

 $while = true;
        while ($while) {
        //这里面做了时间判断  超过两分钟$while=false;
           // usleep(500000);
        }
阅读 2.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题