美文网首页
php sleep usleep time_nanosleep

php sleep usleep time_nanosleep

作者: chinariver | 来源:发表于2017-11-02 19:09 被阅读0次

    sleep() - 延缓执行

    usleep() - 以指定的微秒数延迟执行

    time_nanosleep — 延缓执行若干秒和纳秒

    time_sleep_until() - 使脚本睡眠到指定的时间为止。

    set_time_limit() - 设置脚本最大执行时间

    sleep() - 延缓执行

    说明

    int sleep ( int $seconds )

    程序延迟执行指定的 seconds 的秒数。

    参数:seconds 暂停的秒数。

    返回值: 成功时返回 0,错误时返回 FALSE。

    如果函数的调用被一个信号中止,sleep() 会返回一个非零的值。在Windows上,该值总是 192(即Windows API常量WAIT_IO_COMPLETION的值)。其他平台上,该返回值是剩余未sleep的秒数。

    错误/异常: 如果指定的 seconds 是负数,该函数会产生一个 E_WARNING 级别的错误。

    例子

    1

    2// current time

    3echodate('h:i:s') ."\n";

    4// sleep for 10 seconds

    5sleep(10);

    6// wake up !

    7echodate('h:i:s') ."\n";

    8?>

    该例子会在休眠10秒后输出。

    05:31:23

    05:31:33

    usleep() - 以指定的微秒数延迟执行

    说明

    void usleep ( int $micro_seconds )

    以指定的微秒数延缓程序的执行。

    参数: micro_seconds  暂停的时间以微秒计。1微秒(micro second)是百万分之一秒。

    返回值: 没有返回值。

    例子

    1

    2// Current time

    3echodate('h:i:s') ."\n";

    4// wait for 2 seconds

    5usleep(2000000);

    6// back!

    7echodate('h:i:s') ."\n";

    8?>

    以上例程会输出:

    11:13:28

    11:13:30

    time_nanosleep — 延缓执行若干秒和纳秒

    说明

    mixed time_nanosleep ( int $seconds , int $nanoseconds )

    程序延缓执行指定数量的 seconds 和 nanoseconds。

    参数: seconds  必须是一个非负整数。

    nanoseconds  必须是一个小于1亿的非负整数。

    返回值: 成功时返回 TRUE, 或者在失败时返回 FALSE。

    如果延迟被中断,一个关联数组会返回,内容为:

    seconds - 延迟剩余未执行的秒数

    nanoseconds - 延迟剩余未执行的纳秒数

    例子

    01

    02// Careful! This won't work as expected if an array is returned

    03if(time_nanosleep(0, 500000000)) {

    04echo"Slept for half a second.\n";

    05}

    06

    07// This is better:

    08if(time_nanosleep(0, 500000000) === true) {

    09echo"Slept for half a second.\n";

    10}

    11

    12// And this is the best:

    13$nano= time_nanosleep(2, 100000);

    14

    15if($nano=== true) {

    16echo"Slept for 2 seconds, 100 microseconds.\n";

    17}elseif($nano=== false) {

    18echo"Sleeping failed.\n";

    19}elseif(is_array($nano)) {

    20$seconds=$nano['seconds'];

    21$nanoseconds=$nano['nanoseconds'];

    22echo"Interrupted by a signal.\n";

    23echo"Time remaining: $seconds seconds, $nanoseconds nanoseconds.";

    24}

    25?>

    time_sleep_until() - 使脚本睡眠到指定的时间为止。

    说明

    bool time_sleep_until ( float $timestamp )

    使脚本睡眠到指定的 timestamp。

    参数: timestamp将脚本唤醒的时间戳。

    返回值:成功时返回 TRUE, 或者在失败时返回 FALSE。

    错误/异常: 如果设定的 timestamp 为过去的时间,脚本将会产生一个 E_WARNING 级别的错误。

    例子

    1

    2//returns false and generates a warning

    3var_dump(time_sleep_until(time()-1));

    4// may only work on faster computers, will sleep up to 0.2 seconds

    5var_dump(time_sleep_until(microtime(true)+0.2));

    6

    7?>

    set_time_limit() - 设置脚本最大执行时间

    说明

    void set_time_limit ( int $seconds )

    设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,或者是在php.ini的max_execution_time被定义的值,如果此值存在。

    当此函数被调用时,set_time_limit()会从零开始重新启动超时计数器。换句话说,如果超时默认是30秒,在脚本运行了了25秒时调用 set_time_limit(20),那么,脚本在超时之前可运行总时间为45秒。

    参数: seconds 最大的执行时间,单位为秒。如果设置为0(零),没有时间方面的限制。

    返回值: 没有返回值。

    注释 :

    Warning

    当php运行于安全模式时,此功能不能生效。除了关闭安全模式或改变php.ini中的时间限制,没有别的办法。

    相关文章

      网友评论

          本文标题:php sleep usleep time_nanosleep

          本文链接:https://www.haomeiwen.com/subject/syeapxtx.html