php sleep 阻塞,PHP中的sleep用法?

用户投稿 97 0

关于“php_sleep如何不阻塞”的问题,小编就整理了【4】个相关介绍“php_sleep如何不阻塞”的解答:

PHP中的sleep用法?

sleep函数的作用是延迟代码执行若干秒。参数是以秒计的暂停时间。若成功执行,则返回 0,否则返回 false。

举个例子,有代码:

<?php

echo date('h:i:s') . "<br />";

//暂停10 秒

sleep(10);

//重新开始

echo date('h:i:s');

?>,执行后输出这样的结果(仅供参考,实际输出取决于你的执行时间):

12:00:08

12:00:18

nginx某个接口阻塞了会怎么样?

sleep()这个函数会导致PHP解释器被阻塞,也就是会导致一个PHP-CGI进程被阻塞,如果Nginx后面只有一个PHP-CGI进程,那多个请求自然就得排队等待PHP-CGI处理了,阻塞的不是Nginx,而是PHP-CGI. Windows上Apache内有多个线程,一个线程处理一个请求,所以服务才不会阻塞.

st语言延时指令怎么用?

在ST语言中,可以使用TON(通电延时)和TOF(掉电延时)指令来实现延时功能。

TON指令

TON指令用于实现通电延时功能,其语法如下:

TON(IN:=in, PT:=pt, Q=>q, ET=>et);

其中,in为输入引脚,pt为定时时间,q为输出引脚,et为当前累计时间。当输入引脚in为TRUE时,定时器开始计时,当累计时间et等于定时时间pt时,输出引脚q变为TRUE。

例如,以下代码实现了一个通电延时3秒的功能:

TON(IN:=xIn, PT:=T#3S, Q=>xOut, ET=>xET);

TOF指令

TOF指令用于实现掉电延时功能,其语法如下:

TOF(IN:=in, PT:=pt, Q=>q, ET=>et);

其中,in为输入引脚,pt为定时时间,q为输出引脚,et为当前累计时间。当输入引脚in为FALSE时,定时器开始计时,当累计时间et等于定时时间pt时,输出引脚q变为FALSE。

例如,以下代码实现了一个掉电延时3秒的功能:

TOF(IN:=NOT xIn, PT:=T#3S, Q=>xOut, ET=>xET);

需要注意的是,定时器的输入引脚要放在赋值符号左边,输出引脚要放在赋值符号的右边。另外,定时器尽量不要在IF内调用,通过IF控制它的触发条件。IF相当于置位,当IF判断条件为FALSE的时候也不能复位定时器,必须有个条件给定期器触发的引脚赋值FALSE才可以使其复位。

yield和sleep描述不正确?

sleep的作用是让当前线程休眠(正在执行的线程主动让出cpu,然后cpu就可以去执行其他任务),即当前线程会从“运行状态”进入到“休眠(阻塞)状态”,sleep方法只是让出了cpu的执行权,并不会释放同步资源锁。

yield的作用是让步,它能够让当前线程从“运行状态”进入到“就绪状态”,从而让其他等待线程获取执行权,但是不能保证在当前线程调用yield之后,其他线程就一定能获得执行权,也有可能是当前线程又回到“运行状态”继续运行。

到此,以上就是小编对于“php_sleep如何不阻塞”的问题就介绍到这了,希望介绍关于“php_sleep如何不阻塞”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!