分享

c++中实现sleep的三种方式(跨平台)

 __安如少年 2020-12-04

1、stl方式

//by 鸟哥 用stl实现sleep//有疑问请留言或加群 1032082534#include <iostream>#include <chrono>#include <thread>using namespace std;int main(){
    cout<<"sleep前"<<endl;
    std::this_thread::sleep_for(std::chrono::milliseconds(3000));
    cout<<"sleep后"<<endl;
    }

运行结果:

sleep前
sleep后

2、用boost实现

//by 鸟哥 用boost实现sleep//有疑问请留言或加群 1032082534#include <iostream>#include <boost/thread/thread.hpp>using namespace std;int main(){
    cout<<"sleep前"<<endl;
    
    boost::this_thread::sleep( boost::posix_time::seconds(3) );
    cout<<"3秒后"<<endl;
    boost::this_thread::sleep( boost::posix_time::milliseconds(3000) );
    cout<<"3秒后"<<endl;
    return 0;}

运行结果:

sleep前
3秒后
3秒后

3、编译宏区分下使用各自平台的休眠函数

//by 鸟哥 实现sleep//有疑问请留言或加群 1032082534#include <iostream>#ifdef _WIN32
    #include <windows.h>#else
    #include <unistd.h>#endif // _WIN32using namespace std;void sleepcp(int milliseconds) // 跨平台 sleep 函数{
    #ifdef _WIN32
        Sleep(milliseconds);
    #else
        usleep(milliseconds * 1000);
    #endif // _WIN32}int main(){
    cout << "sleep前" << endl;
    sleepcp(3000);
    cout << "3秒后" << endl;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多