#include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <process.h> void run1(void *p) { MessageBoxA(0, "1", "1", 0); } void run2(void *p) { MessageBoxA(0, "2", "2", 0); } void run3(void *p) { MessageBoxA(0, "3", "3", 0); } void main() { HANDLE hd[3] = { 0 }; //函数指针数组 void(**pp)(void *p) = (void(*[3])(void *p)){ run1, run2, run3 }; for (int i = 0; i < 3; i++) { hd[3] = _beginthread(pp[i], 0, NULL); } WaitForMultipleObjects(3, hd, TRUE, INFINITE); system("pause"); }