问题标签 [sleep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6549 浏览

php - sleep() 默默地占用 CPU

我在 VMWare 中的 Linux 上运行 Apache。

我请求的 PHP 页面之一是sleep(),我发现如果我在第一页是 时尝试请求第二页sleep()'ing,第二页会挂起,等待sleep()第一页的完成。

有没有其他人看到过这种行为?

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

编辑:我应该提到 CPU 使用率不会飙升。我所说的 CPU“占用”的意思是,当页面处于 sleep() 状态时,似乎没有其他 PHP 页面能够使用 CPU。

0 投票
18 回答
87869 浏览

c++ - 如何在 Windows 上使线程睡眠时间少于一毫秒

在 Windows 上,我有一个在 Unix 上从未遇到过的问题。这就是如何让线程休眠不到一毫秒。在 Unix 上,您通常有多种选择(sleep、usleep 和 nanosleep)来满足您的需求。然而,在 Windows 上,只有毫秒粒度的睡眠。

在 Unix 上,我可以使用select系统调用来创建微秒睡眠,这非常简单:

我怎样才能在 Windows 上达到同样的效果?

0 投票
7 回答
289263 浏览

python - time.sleep -- 休眠线程或进程?

在 Python for *nix 中,会time.sleep()阻塞线程还是进程?

0 投票
5 回答
6418 浏览

java - 睡眠和等待线程消耗多少资源

我想知道,在 java 1.6 x64 中有许多线程处于等待状态是多么昂贵。

更具体地说,我正在编写跨多台计算机运行并从一台计算机发送/接收数据的应用程序。我觉得为每台连接的机器和任务设置单独的线程会更舒服,比如 1) 发送数据,2) 接收数据,3) 在连接断开时重新建立连接。因此,假设集群中有 N 个节点,每台机器将为 N-1 个邻居中的每一个拥有 3 个线程。通常会有 12 台机器,相当于 33 个通信线程。

这些线程中的大多数大部分时间都在休眠,因此出于优化目的,我可以减少线程数量并为每个线程分配更多工作。比如,例如。重新建立连接是接收线程的责任。或者发送到所有连接的机器是由单线程完成的。

那么拥有许多睡眠线程是否会对性能产生重大影响?

0 投票
5 回答
7628 浏览

macos - 当我的 Mac 进入睡眠状态时,我的应用程序会发生什么?

当 Mac OS X 进入睡眠状态时,由于关闭笔记本电脑或从 Apple 菜单中选择“睡眠”,它如何暂停正在执行的进程?

我想非窗口进程只是在任意执行点暂停。对于 Cocoa 应用程序也是如此,还是操作系统会等到控制权返回到运行循环调度程序,然后在“已知”位置进入睡眠状态?是否有任何现代操作系统可以做到这一点,或者无论应用程序在做什么,它通常是否足够安全以简单地暂停应用程序?

我很好奇,因为允许随时发生睡眠意味着,从应用程序的角度来看,系统时钟可能会突然大幅向前跳跃。这是我在编码时通常不会考虑的一种可能性。

0 投票
8 回答
11504 浏览

c - sleep() 背后的算法是什么?

现在有一件我一直想知道的事情:sleep() 是如何实现的?

如果都是关于使用操作系统中的 API,那么 API 是如何制作的?

这一切都归结为在 CPU 上使用特殊的机器代码吗?该 CPU 是否需要一个特殊的协处理器或其他小玩意儿,没有它们你就不能拥有 sleep() 吗?

sleep() 最著名的化身是在 C 中(更准确地说,在 C 编译器附带的库中,例如 GNU 的 libc),尽管今天几乎每种语言都有其等价物,但在某些语言中 sleep 的实现(想想 Bash) 不是我们在这个问题中看到的......

编辑:在阅读了一些答案后,我看到该进程被放置在等待队列中。从那里,我可以猜到两种选择,要么

  1. 设置了一个计时器,以便内核在适当的时间唤醒进程,或者
  2. 每当内核被允许一个时间片时,它都会轮询时钟以检查是否该唤醒进程。

答案只提到备选方案 1。因此,我问:这个计时器的行为如何?如果只是一个简单的中断让内核唤醒进程,那么内核如何要求计时器“在 140 毫秒内唤醒我,以便我可以将进程置于运行状态”?

0 投票
1 回答
866 浏览

eclipse - 处理 Eclipse 作业时是否有与 Thread.sleep 等效的方法?

我正在编写 Eclipse 插件,其中有很多正在运行的作业。

在某些情况下,我希望作业在当前执行点“休眠”一段时间并从该位置继续(而不是重新安排作业并从头开始)。

我的理解是,在 Eclipse 作业中使用 Thread.sleep 已被弃用。

是否有可接受的替代方法来完成此任务?

0 投票
4 回答
6266 浏览

c# - 如何在 C# 中等待控制台输入 15 秒左右

我需要在控制台中请求输入并等待几秒钟可能是一分钟之后我需要默认为某个值。基本上如何在 c# 中为我们的控制台输入计时并继续使用默认设置?如果您有示例代码,那就太好了。

0 投票
16 回答
56049 浏览

c - 在 C 中是否有 sleep() 的替代方法?

在传统的嵌入式编程中,我们将给出一个延迟函数,如下所示:

在微处理器看来,这就是 sleep() 函数的工作方式吗?

C 中的 sleep() 函数是否有替代方法?

0 投票
3 回答
478 浏览

c - sleep() 过早地停止了我的程序。我究竟做错了什么?

我想写一个小程序,应该打印类似

测试 CPU... 完成
测试 RAM... 完成

等等。

我用 C 编写了以下程序:

2在哪里sleep_time

但是,不是先打印“testing CPU ...”,然后等待,然后打印“完成”,而是先等待,然后打印整行,这与我的想法不完全一致。

我想这与编译器的自动优化有关。
无论如何,我该怎么做才能获得所需的输出?

我在 OSX 10.5.6 上使用 XCode 3.1

谢谢你,
巴斯蒂安