C++思考笔记(5):可移植的sleep操作

sleep

在日常的编码中有时需要用到程序休眠的功能,由于老的C++标准中并没有提供标准的休眠函数,实现中往往使用平台提供的sleep函数,这样一来又增加了程序移植的工作量:

//windows平台需引入该头文件
#include <windows.h>

//单位是毫秒
Sleep(1000)
//linux平台需引入该头文件
#include <unistd.h>

//单位是秒
sleep(1)

sleep_for

C++11引入了标准的休眠函数sleep_for,使得写休眠操作的时候无需考虑平台提供的sleep接口的差异性:

#include <iostream>
#include <thread>
#include <chrono>

int main(int argc, const char* argv[]) {
    while (true) {
        std::cout << "what" << std::endl;
        std::this_thread::sleep_for(std::chrono::seconds(5));
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容