C++使用多线程的三种方式

C++多线程使用一个thread库,只要在头文件中包含即可使用,使用多线程的方式有三种

1,函数

这里定义线程函数myPrint,首先创建thread类对象mytobj,参数为函数名,即可创建一个线程,通过使用join方法,使得主线程需等待该线程结束后才继续执行。

#include "pch.h"
#include 
#include
using namespace std;

void myPrint() {
	cout << "线程开始" << endl;
	cout << "线程结束" << endl;
}
int main()
{
	thread mytobj(myPrint);
	mytobj.join();
        cout << "Hello World!"<

2,类

#include "pch.h"
#include 
#include
using namespace std;

class TA {
public:
	void operator()()
	{
		cout << "线程开始" << endl;
		cout << "线程结束" << endl;
	}
};
int main()
{
	TA ta;
	thread mytobj(ta);
	mytobj.join();
    cout << "Hello World!"<

3, lambda 函数

#include "pch.h"
#include 
#include
using namespace std;

int main()
{
	auto mylambdathread = [] {
		cout << "线程开始" << endl;
		cout << "线程结束" << endl;
	};
	thread mytobj(mylambdathread);
	mytobj.join();
    cout << "Hello World!"<
线程开始
线程结束
Hello World!

你可能感兴趣的:(Code)