我正在做一个自动化程序。其思想是,在执行一个动作后,它会增加下一个动作应该执行的时间。我选择了这个方法而不是简单的
Sleep()
语句,因为我正在等待用户键盘输入,它可以执行各种操作。
我遇到的问题是
std::chrono::steady_clock::now() > next_work_period
似乎总是评估为真,因此没有等待期。
这是我第一次使用这些函数。非常感谢您的帮助!
auto next_work_period = std::chrono::steady_clock::now();
while (1) {
// To keep disk usage low, 100 may need to be changed
Sleep(100);
// If current time is time to do next action
if (std::chrono::steady_clock::now() > next_work_period) {
std::cout << "Has been 20 seconds" << endl;
// Calculate next click time, 20 seconds from now
next_work_period += std::chrono::milliseconds((20) * 1000);
}
}