本文介绍了两种在C++中使用多线程的方法,第一种方法比较简单,适合常规使用。第二种方法适合更复杂的情况下使用。
#include <thread>
#include <iostream>
#include <windows.h>
using namespace std;
//方法一线程调用函数
void* thread1 (int a){
cout << "方法一线程输出的内容:" << a<< endl;
}
//方法二线程调用函数
DWORD WINAPI thread2 (PVOID pParam){
cout << "方法二线程输出的内容:" << (char*)pParam<< endl;
return 0;
}
int main()
{
//第一种方法
thread a (thread1,6);//创建线程
a.join();//等待线程执行完毕
//第二种方法
HANDLE h1;
char data[100] = "Hello world!";
h1=CreateThread(NULL,0,thread2,data,0,NULL);//创建线程
ResumeThread(h1);//启动线程
WaitForSingleObject(h1,INFINITE);//等待线程结束 ,参数2位等待时间毫秒,INFINITE为无限等待
CloseHandle(h1);//关闭线程句柄
return 0;
}