最简单的Windows多线程例子
2023-03-17 本文已影响0人
CodingCode
#include <windows.h>
#define MAX_THREADS 5
DWORD WINAPI Foo_Thread( LPVOID lpParam )
{
printf("Thread start\n");
Sleep(2000);
printf("Thread end\n");
return 0;
}
int main(int argc, char * argv[])
{
DWORD dwThreadIdArray[MAX_THREADS];
HANDLE hThreadHandleArray[MAX_THREADS];
for (int i = 0; i < MAX_THREADS; ++i)
{
hThreadHandleArray[i] = CreateThread(NULL, 0, Foo_Thread, NULL, 0, &dwThreadIdArray[i]);
}
for (int i = 0; i < MAX_THREADS; ++i) {
int rc = WaitForSingleObject(hThreadHandleArray[i], INFINITE);
CloseHandle(hThreadHandleArray[i]);
}
return 0;
}