多线程问题
我正在编写一个游戏辅助程序,但是由于运行速度的问题。我需要进行多线程编程。但是我没有学过多线程的编程 。希望大家帮帮忙。具体要求如下:
建立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; }