C 中的睡眠函数:综合指南
与 C 中的对应函数不同,C 缺乏显式的 Sleep() 函数来暂停程序执行在指定的时间内。然而,现代 C 标准引入了一种通用的解决方案,由
使用 std::this_thread::sleep_for:
这是 C 11 及更高版本的推荐方法。它需要一个 std::chrono::milliseconds 类型的参数来指定睡眠持续时间。
<code class="cpp">#include <chrono> #include <thread> std::chrono::milliseconds timespan(111605); // or whatever std::this_thread::sleep_for(timespan);</code>
Pre-C 11 替代方案:
之前在 C 11 中引入线程,需要特定于平台的解决方案。一种选择是使用条件编译定义睡眠函数:
<code class="cpp">#ifdef _WIN32 #include <windows.h> void sleep(unsigned milliseconds) { Sleep(milliseconds); } #else #include <unistd.h> void sleep(unsigned milliseconds) { usleep(milliseconds * 1000); // takes microseconds } #endif</code>
或者,您可以利用 Boost 库:
<code class="cpp">#include <boost/thread/thread_only.hpp> void sleep(unsigned milliseconds) { boost::this_thread::sleep(boost::posix_time::milliseconds(milliseconds)); }</code>
其他功能:
除了 sleep_for 之外,
以上是如何在 C 中挂起执行:睡眠函数和替代方法指南的详细内容。更多信息请关注PHP中文网其他相关文章!