13.8.1异步、异步、异步 Page720~721

发布时间:2024年01月23日
#include <iostream>
#include <thread>
#include <future>

using namespace std;

///定时炸弹第一波
void sync_sleep(int s)
{
    cout << "sync_sleep----不使用异步" << endl;
    ///启动定时
    this_thread::sleep_for(chrono::seconds(s)); ///延迟s秒
    ///定时到
    cout << "!!!砰!!!" << endl;

    ///边跑边叫
    cout << "~我跑~" << endl;
    cout << endl;
}

///定时炸弹第二波
void async_sleep(int s)
{
    cout << "async_sleep-----使用异步" << endl;
    ///启动定时
    std::future <void> f = std::async([s]()
    {
        this_thread::sleep_for(chrono::seconds(s));
        ///定时到
        cout << "!!!砰!!!" << endl;
    });

    ///边跑边叫
    cout << "~我跑~" << endl;
    ///在百米开外安心等
    f.wait(); ///启动f

}
int main()
{
    sync_sleep(5);
    async_sleep(5);
    return 0;
}

运行效果:

开始运行:

5秒后:

再过5秒:

文章来源:https://blog.csdn.net/yanzhenxi/article/details/135761724
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。