#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秒: