多线程问题
我正在编写一个游戏辅助程序,但是由于运行速度的问题。我需要进行多线程编程。但是我没有学过多线程的编程 。希望大家帮帮忙。具体要求如下:
建立5个线程 abcde,其中abcd同步运行,并且最终有int返回值。全部返回后线程e开始运行。
不知道谁能帮我写一个框架。这五个线程的内部具体实现代码我自己写。
程序代码:#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;
}