69,373
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<process.h>
void aa(void* p1);
void bb(void* p2);
void cc(void* p3);
int main()
{
int a[150];
for(int i=0;i<150;++i)
a[i]=i;
_beginthread(bb,0,a+50);
_beginthread(cc,0,a+100);
_beginthread(aa,0,a);
for(i=0;i<150;++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void aa(void* p1)
{
int* p=(int*)p1;
int i=0;
for(;i<50;++i)
p[i]+=1;
}
void bb(void* p2)
{
int* p=(int*)p2;
int i=0;
for(;i<50;++i)
p[i]+=2;
}
void cc(void* p3)
{
int* p=(int*)p3;
int i=0;
for(;i<50;++i)
p[i]+=3;
}
HANDLE hThreads[3] = {0};
hThreads[0] = (HANDLE)_beginthread(bb,0,a+50);
hThreads[1] = (HANDLE)_beginthread(cc,0,a+100);
hThreads[2] = (HANDLE)_beginthread(aa,0,a);
WaitForMultipleObjects(3,hThreads,TRUE,INFINITE);
HANDLE hThreads[3] = {0};
hThreads[0] = _beginthread(bb,0,a+50);
hThreads[1] = _beginthread(cc,0,a+100);
hThreads[2] = _beginthread(aa,0,a);
WaitForMultipleObjects(3,hThreads,TRUE,INFINITE);