使用Win32 SDK实现多线程,一般分为两步:
1)编写线程函数
2)创建一个线程
编写线程函数一般需要用到以下类似的函数原型:
DWORD _stdcall ThreadFun1(LPVIOD IpvThreadParm)
Win32 SDK提供的线程创建函数是:
CreateThread()
以下是一个例子:
#include "pch.h"
#include <iostream>
#include"windows.h"
#include"atlstr.h"
using namespace std;
DWORD _stdcall ThreadFun0(LPVOID p) {
int a = (int)p;
Sleep(100);
cout << "线程0:" << a << endl;
return 0;
}
DWORD _stdcall ThreadFun1(LPVOID p) {
char *p1 = (char *)p;
Sleep(200);
cout << "线程1:" << p << endl;
return 0;
}
DWORD _stdcall ThreadFun2(LPVOID p) {
CString *p2 = (CString *)p;
Sleep(100);
cout << "线程3:" << p << endl;
return 0;
}
HANDLE hThrd0, hThrd1, hThrd2;
DWORD ID0, ID1, ID2;
int main()
{
int a = 123;
char p1[] = "abc";
CString p2("abc