我用c ++编写了一个用于更改系统密码的程序,我想每2小时运行一次,然后我最终选择c ++中的两个,一个是Sleep(ms)
,另一个是最近使用的线程lib this_thread::sleep_for(2h)[ 2h using std::chrono_literals]
。
我一直在徘徊的疑问是,长期暂停exe
是否会以我们想要的方式运作,是否还有比我提到的更好的方式?
我还计划将exe
作为Windows服务。
答案 0 :(得分:2)
除了我提到的任何其他更好的方式吗?
是
我建议你不要暂停程序。简单地做,然后退出。
答案 1 :(得分:2)
如果你有一些必须定期运行并且需要长时间等待的任务,你应该使用执行任务和退出的程序或脚本,以及处理等待的调度程序。还有你需要考虑的问题,例如:
您尝试做的是自己实施调度程序。如果这是您想要的,那么sleep
是posix函数,而chrono::thread::sleep_for
是跨平台的,所以使用第二个函数会更好。
但是,通常不建议实施调度程序,而且这些调度程序非常简单。