PHP当中的 sleep()函数问题

PHP当中的 sleep()函数问题,第1张

同学,你要先理解php是在服铅圆务器端执行的

你的这个结果,唯激租却是被客户端浏览器解析的

所以,服务器执行了 输出1 睡眠3 输出2 用时3秒

然后返回了最终的结果

而,同时,浏览器是不能用html来动态显示内容的

你需要使用ajax

处理逻辑是:

ajax 控制js向服务器发报,服务器返回显示时间的页面,页面用js动态加入div中

这个过程用js控制,每3秒自调用一次

即是在js function中添加setTimeout( "方法名() ", 3000)

当然,还有另外一个方法,上面的方法能获得的是服务器端的时间,下面这个则是客户端的时间,处理逻辑如下:

和上个方法一样,写一个js的3秒间隔自调指兆用函数,然后该函数会改变某个div的值,值显示为当前时间。

其实还有个方法,使用js每隔3秒来刷新当前页面。

但无论哪种方法 都用不到sleep

sleep函数会导致当前服务的进程睡眠挂起。注意是当前服务的进程段搏。因为服务器可以配置多个php进程同时握兄祥提供解析服务。

另外PHP也可以使尘瞎用pthread扩展实现多线程编程。

Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态。

处于这个状态的进程因为等待某某事件的发生(比如等待socket连接、等待信号量),而被挂起。这些进程的task_struct结构被放入对应事件的等待队列中。当这些事件发生时(由外部中断触发、或由其他进程触发),对应的等待队列中的一个或多个进程将被唤醒。

通过ps命令我们会看到,一般情况下,进程列表中的绝大多数进程都处于TASK_INTERRUPTIBLE状态(除非机器的负载很高)。手乎毕竟CPU就这么一两个,进程动辄几十上百个,如果不是绝大多数进程都在睡眠,茄薯启CPU又怎么响应得过来。

所以说处于S状态是ok的,只有在run的时候才会处于R状态。颤如


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12424158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存