当前位置:  开发笔记 > 编程语言 > 正文

sleep()默默地占用CPU

如何解决《sleep()默默地占用CPU》经验,为你挑选了1个好方法。

我在VMWare中的Linux上运行Apache.

我正在请求的一个PHP页面执行a sleep(),我发现如果我尝试在第一页请求第二页时sleep()'ing,第二页挂起,等待sleep()第一页完成.

有没有人见过这种行为?

我知道PHP不是多线程的,但这似乎是对CPU的严重错误处理.

编辑:我应该提到CPU使用率没有飙升.CPU"hogging"的意思是,当页面处于sleep()时,没有其他PHP页面能够使用CPU.



1> Manuel..:

可能是被调用的页面打开一个会话然后不提交它,在这种情况下,请参阅此答案以获得解决方案.


如果你将php.ini配置为session.auto_start设置为1,它将在运行任何代码之前打开会话,并保持打开直到你明确关闭它,或者页面到达结尾.第二个请求在运行第一行代码之前似乎就会挂起.
在我的例子中,在开始循环之前调用`session_write_close()`会阻止`sleep`锁定对服务器上其他页面的访问.
推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有