最简单的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;
}
上一篇 下一篇

猜你喜欢

热点阅读