
程序代码:
#include <windows.h>
#include <stdio.h>
const int MAX_THREADS = 5;
DWORD __stdcall ThreadProc_1(LPVOID lpParam)
{
while (1)
{
printf("a\n");
Sleep(1 * 1000);
}
return 0;
}
DWORD __stdcall ThreadProc_2(LPVOID lpParam)
{
while (1)
{
printf("b\n");
Sleep(1 * 1000);
}
return 0;
}
DWORD __stdcall ThreadProc_3(LPVOID lpParam)
{
while (1)
{
printf("c\n");
Sleep(1 * 1000);
}
return 0;
}
DWORD __stdcall ThreadProc_4(LPVOID lpParam)
{
while (1)
{
printf("d\n");
Sleep(1 * 1000);
}
return 0;
}
DWORD __stdcall ThreadProc(LPVOID lpParam)
{
HANDLE hThread[MAX_THREADS];
hThread[0] = CreateThread (NULL, 0, ThreadProc_1, 0, 0, 0);
hThread[1] = CreateThread (NULL, 0, ThreadProc_2, 0, 0, 0);
hThread[2] = CreateThread (NULL, 0, ThreadProc_3, 0, 0, 0);
hThread[3] = CreateThread (NULL, 0, ThreadProc_4, 0, 0, 0);
DWORD result = WaitForMultipleObjects(MAX_THREADS-1, hThread,TRUE, INFINITE);
if (result == WAIT_OBJECT_0)
{
printf("e\n");
}
return 0;
}
int main(void)
{
ThreadProc((LPVOID)0);
return 0;
}
基本的框架 就这样子
线程 同步 有 Event Mutex Timer
自己也可以通过全局的方式 来达到同步 注意线程共享资源就ok