C 中的睡眠功能
在 C 中,开发人员经常遇到需要暂停程序执行一段特定时间的情况,类似于 Sleep( ) 其他编程语言中的函数。本文旨在满足这一要求并提供全面的解决方案。
std::this_thread::sleep_for
C 11 引入了
<code class="cpp">#include <chrono> #include <thread> std::chrono::milliseconds timespan(111605); // or whatever std::this_thread::sleep_for(timespan);</code>
std::this_thread::sleep_until
std::this_thread::sleep_for 的替代方案是 std::this_thread::sleep_until,它允许暂停直到达到特定时间点。
Pre-C 11 解决方案
在 C 11 之前,C 缺乏线程功能和睡眠功能。因此,依赖于平台的解决方案是必要的。下面是一个适用于 Windows 和 Unix 的示例:
<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::this_thread::sleep 可以用作更简单的 C 11 之前的方法。
以上是如何用C实现睡眠功能?的详细内容。更多信息请关注PHP中文网其他相关文章!