C++多线程使用一个thread库,只要在头文件中包含即可使用,使用多线程的方式有三种
1,函数
这里定义线程函数myPrint,首先创建thread类对象mytobj,参数为函数名,即可创建一个线程,通过使用join方法,使得主线程需等待该线程结束后才继续执行。
#include "pch.h"
#include <iostream>
#include<thread>
using namespace std;
void myPrint() {
cout << "线程开始" << endl;
cout << "线程结束" << endl;
}
int main()
{
thread mytobj(myPrint);
mytobj.join();
cout << "Hello World!"<<endl;
return 0;
}2,类
#include "pch.h"
#include <iostream>
#include<thread>
using namespace std;
class TA {
public:
void operator()()
{
cout << "线程开始" << endl;
cout << "线程结束" << endl;
}
};
int main()
{
TA ta;
thread mytobj(ta);
mytobj.join();
cout << "Hello World!"<<endl;
return 0;
}3, lambda 函数
#include "pch.h"
#include <iostream>
#include<thread>
using namespace std;
int main()
{
auto mylambdathread = [] {
cout << "线程开始" << endl;
cout << "线程结束" << endl;
};
thread mytobj(mylambdathread);
mytobj.join();
cout << "Hello World!"<<endl;
return 0;
}线程开始
线程结束
Hello World!版权声明:本文为z13653662052原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。