功能:创建SIZE个线程,每个线程执行幂计算函数,然后求和。
#include <windows.h>
#include <iostream>
using namespace std;
DWORD WINAPI Power(LPVOID n);
#define SIZE 10
int main()
{
DWORD threadId;
HANDLE handles[SIZE];
DWORD exitCode[SIZE];
for(int i=0;i<SIZE; ++i)
{
handles[i] = CreateThread(NULL,
0,
Power,
(LPVOID)i,
0,
&threadId);
}
WaitForMultipleObjects(SIZE, handles, TRUE, INFINITE);
int sum =0;
for(int i=0; i<SIZE;++i)
{
GetExitCodeThread(handles[i], &exitCode[i]);
sum += exitCode[i];
}
cout<< "Sum = " <<sum<<endl;
for(int i=0; i<SIZE;++i)
{
CloseHandle(handles[i]);
}
system("pause");
}
DWORD WINAPI Power(LPVOID n)
{
int t = (int)n;
int res = t*t;
return res;
}
结果
285