#include <iostream>
#include <thread>
static bool s_Finished = false;
void DoWork()
{
using namespace std::literals::chrono_literals;//sleep_for()来自该命名空间
while (!s_Finished)
{
std::cout << "Working" << std::endl;
std::this_thread::sleep_for(1s);//通过this_thread来控制当前线程
}
}
int main()
{
std::thread worker(DoWork);//开启子线程并立即执行
std::cin.get();
s_Finished = true;
worker.join();//主线程等待该进程结束,然后执行后面的语句
std::cout << "Finished." << std::endl;
std::cin.get();
}
本文是学习@Cherno大佬的CPP视频过程中跟着一起敲敲代码,权作记录
本文只是CPP调用线程的简单示例,提示this_thread的用法
thread对象传入的参数是函数指针,后续可以跟上函数对应的入参