您的位置:首页 > 其它

一个简单的线程例子

2014-04-12 11:37 267 查看
对于线程的概念不太清楚,从网上找到一个例子,并做少许修改。如下

#include <stdio.h>
#include <windows.h>

DWORD WINAPI funA(LPVOID lp)
{
int i=1;
int sum=0;

for(i=1;i<=100;i++)
sum=sum+i;
sleep(100);
printf("a[0] thread print:%d\n",sum);

return 0;
}

DWORD WINAPI funB(LPVOID lp)
{
int i=1;
int sum=0;

for(i=1;i<=101;i++)
sum=sum+i;
sleep(10);
printf("a[1] thread print:%d\n",sum);

return 0;
}

void main()
{
HANDLE a[2];
DWORD dwT,dwY;

a[0]=CreateThread(NULL,0,funA,0,0,&dwT);
a[1]=CreateThread(NULL,0,funB,0,0,&dwY);
int i=1;
do{

printf("Here is %d times of main thread\n",i);
sleep(5);
}while((++i)<22);

//WaitForMultipleObjects(2,a,TRUE,50000);

CloseHandle(a);
return ;
}


从执行结果如下:



多个线程(包括主线程)是并行执行的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: