C++计时器(等待一段时间)
C++ Timer (Wait A Certain Period Of Time)
我正在尝试编写一些Linux代码,每30秒发送一条消息。到目前为止,我拥有的是:
#include <time.h>
time_t timeinit;
time_t timenow;
time(&timeinit);
while (1) {
time(&timenow);
if (difftime(timenow, timeinit) >= 30){
std::cout << "Timer Test";
time(&timeinit); //reset timeinit and recount 30 seconds
} //end if
}
然而,当我运行它时,它似乎没有任何作用。按照我的理解,time()给出了现在的时间,difftime()给了我两次之间的差值。我不能使用sleep()之类的东西,因为程序可能随时收到消息。
我试图实现这一点的方法是:获取初始时间,然后每个循环都获取之后的时间,如果两次之间的时间差为30秒,则发送一条消息。
有什么想法吗?如果有人能为我指明正确的方向,我将不胜感激。
David说得对。它起作用了,只是直到我使用std::flush
相关文章:
- 在做一段时间内检查字符的无限循环
- ExtTextOut 文本的持续闪烁,在一段时间后,文本将恢复为默认字体
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- ::grpc::ServerReaderWriter 对象在另一个线程中一段时间后无法调用
- 一段时间后 CPU 使用率高
- 有没有办法在一段时间后将流程从流出中分离出来
- 在一段时间内更改标签文本
- 布尔函数在一段时间内不起作用
- 解决PNP在一段时间后返回坏的rvec和tvec
- 相机的旋转方向在一段时间后反转
- boost::asio::d eadline_timer 1ms 滞后一段时间
- SDL_Mixer再次播放时,从随机位置开始一段时间,然后从头开始
- 您可以在一段时间内迭代向量
- 列表STL的时间复杂性在一段时间内进行排序
- 我的开关菜单在一段时间循环中出现问题
- 如何在一段时间内更新 QLabel?
- 在线程中等待一段时间,或者直到条件发生
- C++计时器(等待一段时间)
- 等待输入一段时间
- 性能问题与c++(使用vc++ 2010):在运行时,我的程序似乎随机等待一段时间