什么是长时间暂停exe的最佳方法
what is the best way to long pause an exe
我用c++做了一个程序来更改系统的密码,我想每两个小时运行一次,然后我在c++中有两个选择,一个是Sleep(ms)
,另一个是使用最近的线程库this_thread::sleep_for(2h)[ 2h using std::chrono_literals]
。
我一直在怀疑,长时间暂停exe
是否会按照我们想要的方式工作,还有比我提到的更好的方式吗?
我还计划将我的exe
作为windows服务。
还有比我提到的更好的方法吗?
是的。
我建议你不要在暂停程序。只需做这件事,然后退出。
将日程安排部分提取到一个单独的程序中。您甚至不需要编写这个调度程序,因为它已经存在于大多数操作系统中。
如果您有一些任务必须在长时间等待的情况下定期运行,那么您应该使用一个程序或脚本来执行任务并退出,以及一个调度程序来处理等待。还有一些问题需要考虑,例如:
- 如果错过了计划时间(例如,由于重新启动),你需要启动任务吗
- 如果完成任务所需的时间比等待时间长,是否允许同时运行多个任务
您要做的是自己实现一个调度程序。如果这是你想要的,那么sleep
是一个posix函数,而chrono::thread::sleep_for
是跨平台的,所以最好使用第二个。
然而,通常不建议实现调度器,而且要实现简单的调度器。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 在C++中向零方向近似的最佳方法
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 检测win32服务创建和删除的最佳方法
- 在C++中样板"冷/never_inline"错误处理技术的最佳方法是什么?
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 将线程中的数据存储到全局容器的最佳方法?
- 将一系列整数放入类的最佳方法是什么?
- 在派生类中使用基类的私有成员变量的最佳方法
- 在 C++ 中将非指定类型作为参数传递的最佳方法?
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- 比较两个节点坐标的最佳方法是什么?
- 在nodejs中使用本机代码的最佳方法是什么?
- 将 pybind11 绑定标记为已弃用的最佳方法
- C++:将向量传递到构造函数以创建成员变量的最佳方法?
- C++中变量混叠的最佳方法
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?