正如 Headers 所说,我想创建一个简单的计时器/刻度函数,例如5分钟,以便我可以调用另一个函数,然后计时器再次启动,但不使用睡眠或时钟功能 . 那么有没有任何功能或方法,以便它例如在几秒钟内向上或向下计数?谢谢你的帮助 .
虽然你说你想避免"clock function",但我没有看到如何在没有时钟的情况下计算5分钟 . 这是一个非常基本但是 portable 的计时器 .
std::thread用于创建线程
std::chrono用作时钟
Result :每5分钟调用一次 foo() 方法 .
foo()
#include <thread> #include <iostream> void foo() { std::cout << "Hello !\n"; } int main() { std::thread([&] { while(true) { // Wait 5 minutes std::this_thread::sleep_for(std::chrono::minutes(5)); // Call our method foo(); } }).detach(); // Execution continues ... std::cin.get(); }
Notes :
我将一个lambda传递给了线程但是任何可调用的都可以 .
std::chrono充满了很酷的东西来操纵日期和时间,你可以用它轻松调整你的计时器 .
1 回答
虽然你说你想避免"clock function",但我没有看到如何在没有时钟的情况下计算5分钟 . 这是一个非常基本但是 portable 的计时器 .
std::thread用于创建线程
std::chrono用作时钟
Result :每5分钟调用一次
foo()
方法 .Notes :
我将一个lambda传递给了线程但是任何可调用的都可以 .
std::chrono充满了很酷的东西来操纵日期和时间,你可以用它轻松调整你的计时器 .