- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我不知道如何准确地搜索这个..所以我没有找到任何东西..:S
我需要在 C 中实现时间延迟。
例如我想做一些事情,然后等待 1 分钟,然后继续做事情。
这有意义吗?谁能帮帮我?
最佳答案
在标准 C (C99) 中,您可以使用 time()
来执行此操作,例如:
#include <time.h>
:
void waitFor (unsigned int secs) {
unsigned int retTime = time(0) + secs; // Get finishing time.
while (time(0) < retTime); // Loop until it arrives.
}
顺便说一下,这假定 time()
返回 1 秒分辨率值。我不认为这是标准强制要求的,因此您可能需要针对它进行调整。
为了澄清,这是我所知道的使用 ISO C99 执行此操作的唯一方法(并且问题仅标记为“C”,这通常意味着可移植解决方案是可取的,当然,仍然可以提供特定于供应商的解决方案)。
无论如何,如果您使用的平台提供了更高效的方法,请使用它。正如一些评论所指出的,像这样的紧密循环可能会出现特定问题,关于 CPU 使用率和电池生命周期。
任何体面的时间片操作系统都能够降低连续使用其完整时间片的任务的动态优先级,但电池电量可能会有更多问题。
但是 C 指定没有关于托管环境中的操作系统细节,这个答案是针对 ISO C 和单独的 ISO C(所以没有使用 sleep
,选择
、Win32 API 调用或类似的东西)。
请记住 POSIX sleep
可以被信号中断。如果您要沿着这条路走下去,您需要做如下事情:
int finishing = 0; // set finishing in signal handler
// if you want to really stop.
void sleepWrapper (unsigned int secs) {
unsigned int left = secs;
while ((left > 0) && (!finishing)) // Don't continue if signal has
left = sleep (left); // indicated exit needed.
}
关于c - 在c中实现时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930363/
我在使用以下代码时遇到问题。 //Send Creation email ListServDAO.sendCreateEmail(orgId, full, request.getSession().g
我想知道如何在一段时间后调用函数。我试过 time.sleep() 但这会停止整个脚本。我希望脚本继续运行,但在 ???secs 后调用一个函数并同时运行另一个脚本 最佳答案 看看threading.
我有一个在 .NET 4.0 中使用的自定义控件(继承自 TextBox)。 我需要做的是在用户完成输入后执行一些代码,例如他停止打字后一秒钟。 为了提高效率,我不能在每次 Text 更改时都执行此代
我目前正在开发一个应用程序,我想实现一个时间延迟。我不想使用 System.Threading.Thread.Sleep(x);当我读到这篇文章时,线程停止了(UI 卡住) 我目前写的代码是: pub
我需要一些关于我调用 onKeyUp 的 JavaScript 函数的帮助,它是一个 Ajax 函数,但每次我写任何字符时它都会调用该函数并且它会降低页面性能并且它每次都会检查,它是一个用户检查数据库
我想在 PyDev (Eclipse) python 2.75 中创建一个图形窗口。 我做了一些事情,但我想做一个“入口”“眨眼”。它测试用户输入。如果它是一个整数,它应该闪烁绿色一秒钟,然后变成白色
再次嗨,网络大师:)现在,我有一个新的愚蠢问题,我请求原谅。我到处阅读有关此解决方案的信息,但没有找到适合我的解决方案。 我有: 我要问的是如何使其不在按下按钮后进行检查,而是在键盘不活动 1000
我通过了几种导致时间延迟的方法,例如 pings 和 dirs。虽然它们都不是真正精确的,但有没有适当的方法来导致时间延迟? 我听说了一些东西,尽管它们不适用于所有计算机,不适用于我的 Windows
这个问题在这里已经有了答案: Simple C app using 50% cpu (6 个答案) 关闭 8 年前。 我尝试使用 ncurses 库和 C 编写一个 CUI Snake 游戏。一切正
我写了一个带有时间延迟的源代码。在 unix 中我使用了 #include 头文件和 usleep功能。 在 Windows 上这相当于什么? 在windows上写同样的代码应该用什么库和函数 最佳答
我正在尝试让我的 JButton 在我正在创建的游戏中闪烁红色。该网站上的所有解决方案都建议使用线程并将其置于 sleep 状态或使用计时器,但是,暂停缓解似乎是在颜色更改之后发生的 这是我的代码:
我正在使用 Javascript 和 HTML5 CANvas 制作动画。如何在 for 循环中实现延迟(非阻塞)?我想确保在延迟结束之前不会绘制第二条线。 for (i=1;i
我正在尝试让我的 JButton 为我正在创建的游戏闪烁红色。该网站上的所有解决方案都建议使用线程并将其置于 sleep 状态或使用计时器,但是,暂停似乎是在颜色变化之后出现的 这是我的代码: Col
我正在使用 Node.js(v0.12.4) 和 Socket.io(1.3.2) 开发实时交易应用程序。在那方面,当从 Node.js 向 GUI(Socket.Io) 发出响应时,我面临将近 (1
我试图弄清楚如何在 Excel VBA 中使用时间延迟。 这是我想做的事情: 我在宏中有一个按钮,当我单击它时,它会发送第一封电子邮件。然后 1 小时后,我想自动发送第二封电子邮件,而无需单击另一个按
我是一名优秀的程序员,十分优秀!