C++睡眠函数:Windows平台下的Sleep函数和Linux平台的usleep函数
2023-12-31 12:54:49
C/C++睡眠函数:Windows平台下的Sleep函数和Linux平台的usleep函数
WinAPI Sleep
Sleep函数属于Windows API,使用它需要先包含synchapi.h
。
void Sleep(DWORD dwMilliseconds);
函数仅有一个参数(睡眠时长),单位是毫秒。
参考Microsoft Docs
UNIX usleep
仅在Linux平台可用,使用它需要先包含unistd.h
。
int usleep(useconds_t usec);
函数仅有一个参数(睡眠时长),单位是微秒。该数值最大不超过1000000微秒(也就是1秒)。
参考Linux and UNIX Man Pages
C++11引入的跨平台通用睡眠函数sleep_for
template <class Rep, class Period>
void sleep_for02(const chrono::duration<Rep,Period>& rel_time);
函数sleep_for与前两个函数一样,都只有一个参数指明睡眠时长。稍显复杂的是,这个参数rel_time
的单位取决于用户。
看官方例程:
// this_thread::sleep_for example
#include <iostream> // std::cout, std::endl
#include <thread> // std::this_thread::sleep_for
#include <chrono> // std::chrono::seconds
int main()
{
std::cout << "countdown:\n";
for (int i=10; i>0; --i) {
std::cout << i << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
std::cout << "Lift off!\n";
return 0;
}
代码中使用std::chrono::seconds(1)
表示1秒,同理可以用std::chrono::milliseconds(1000)
来表示。
文章来源:https://blog.csdn.net/qq_42679415/article/details/135314098
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!