1

睡眠功能和睡眠功能之间的唯一区别是第一个参数以秒为单位,另一个以微秒为单位吗?还有什么区别吗??

另一件事,我会用循环使用这个函数,有什么问题会让我意外吗?

4

3 回答 3

6

通过查看 和 的 PHP 文档usleepsleep您会注意到有2 个不同之处:

  1. for 的参数usleep是一个表示微秒的整数(微秒是百万分之一秒),而 for 的参数sleep是一个表示秒的整数。

  2. sleep返回“成功时为零,错误时返回 FALSE。” usleep没有返回值。以下是有关 的返回值的更多详细信息sleep

如果调用被信号中断,sleep() 返回一个非零值。在 Windows 上,此值将始终为 192(Windows API 中 WAIT_IO_COMPLETION 常量的值)。在其他平台上,返回值将是剩余的睡眠秒数。

一般来说,你应该可以在循环中使用这些函数。话虽如此,但要问的更重要的问题是:为什么您需要一个依赖于暂停执行一段时间的解决方案?这真的是解决您问题的好方法,还是对您只想摆脱的一些奇怪错误或边缘情况的 hack 修复?

于 2014-02-08T14:14:51.930 回答
-1

usleep— 以微秒为单位延迟执行。以微秒为单位的暂停时间。一微秒是百万分之一秒。

`sleep` — Delay execution

Delays the program execution for the given number of seconds.

我没有得到这两个功能之间的更多区别

于 2014-02-08T13:43:15.043 回答
-2

sleep() 允许您的代码在几秒钟内进入睡眠状态。

sleep(5); // sleeps for 5 seconds

usleep() 允许您的代码以微秒为单位。

usleep(2500000); // slees for 2.5 seconds

除此之外,我认为它们是相同的。

sleep($n) == usleep($n * 1000000)
usleep(25000) only sleeps for 0.025 seconds.
于 2014-02-08T13:50:33.653 回答