优雅的方式来执行许多闹钟
Elegant way to excecute many alarm clocks?
假设我有一个多个事件的确切未来时间的向量。 我希望这些活动在达到各自的时间后启动。如何在不经常使用 if 语句来检查当前时间是否为这些设置时间之一的情况下执行此操作? 这种不断的检查,特别是如果程序中正在运行许多其他内容(其中一些时间可能离现在有点远)会降低程序的性能。我正在使用 c++11,最新版本的 GCC。
如果您使用的是 C++11,则创建线程可能是最简单的方法,让它休眠直到下一个闹钟时间。存储警报时间的最有效方法可能是优先级队列。
如果您没有可用的 C++ 11,您可以考虑使用提升线程。该标准的线程紧密基于 Boost 线程,因此使用它们将非常相似。
如果你不想使用它,你几乎需要使用操作系统工具来完成这项工作。对于几乎任何相当现代的操作系统,你可以创建一个线程并让它休眠到下一个闹钟时间,但你可能还会有一些东西更直接地支持你想要的东西(在指定时间调用函数)。不过,其细节将特定于操作系统。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- C++,系统无法执行指定的程序
- 使用C++中的模板和运算符重载执行矩阵运算
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 执行函数时导致崩溃的变量
- 无论条件是否为true,if总是在c++中执行
- 当函数模板参数是具有默认参数的类模板时,函数模板参数的推导如何执行
- 在C++中对T*类型执行std::move的意外行为
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如何在没有信号的情况下从C++执行QML插槽
- 如何确认我的constexpr表达式实际上已经在编译时执行
- C++17中的并行执行策略
- GDB执行时,Apache IGNITE C 客户端应用程序具有许多细分故障
- 用于许多C 可执行文件的makefile
- 从许多并行可执行文件写入单个文件的最佳方法
- 优雅的方式来执行许多闹钟
- C++在shell中执行许多命令
- 代码块,单个项目,许多可执行文件
- 分叉和执行许多不同的进程,并从每个进程中获得结果
- 如何生成许多相似的可执行文件