Windows下用c++创建进程,再创建两个线程

在Windows下用c++编写程序,创建一个进程,包含三个线程,第一个线程执行1到100的求和,第二个执行10的阶乘计算,另一个负责将第一个和第二个线程的结果进行输出!详... 在Windows下用c++编写程序,创建一个进程,包含三个线程,第一个线程执行1到100的求和,第二个执行10的阶乘计算,另一个负责将第一个和第二个线程的结果进行输出!

详细注释,源代码,还有方法说明!
phlin12345的程序思路和框架对了,编译通过,可不能输出结果.
后来查阅资料明白:因为缺少了一个函数:主函数中用WaitForSingleObject函数来等待线程函数变成signaled状态.限于篇幅,就不贴上来了!
现在已经解决了!

非常感谢朋友们!希望下次遇到对我来说的难题可以请求你们!
展开
 我来答
phlin12345
推荐于2017-09-24 · TA获得超过111个赞
知道答主
回答量:69
采纳率:0%
帮助的人:60.8万
展开全部
我写的代码,没编译,你试试行不行
DWORD WINAPI SumThread(LPVOID lp)//求和线程
{
int* sum=(int*)lp;
for(int i=1;i<101;i++)
{
(*sum)+=i;
}
return 0;//线程返回
}
DWORD WINAPI MulThread(LPVOID lp)//求阶乘线程
{
int* mul=(int*)lp;
for(int i=1;i<11;i++)
{
(*mul)*=i;
}
return 0;
}
DWORD WINAPI PrintThread(LPVOID lp)//打印线程
{
HANDLE handle ;
int sum=0 ;
int mul=1;
handle = CreateThread(NULL,NULL,SumThread,(LPVOID)&sum,NULL,NULL);//创建求和线程
CloseHandle(handle);//关闭线程句柄
handle = CreateThread(NULL,NULL,MulThread,(LPVOID)&mul,NULL,NULL);//创建求阶乘线程
CloseHandle(handle);//关闭线程句柄
printf("%d",sum);//打印和
printf("%d",mul);//打印阶乘
return 0;
}
void main()
{
HANDLE handle;
handle = CreateThread(NULL,NULL,PrintThread,NULL,NULL,NULL);
CloseHandle(handle);
}
写代码的卖鱼人
2009-03-07 · TA获得超过354个赞
知道小有建树答主
回答量:259
采纳率:100%
帮助的人:274万
展开全部
教你吧:
1.定义三个函数,线程函数:f1(1..100); f2(10!); f3(print);
2.CreateThread():f3
3.在f3()中:CreateThread(),CreateThread();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上场排排排头P
2009-03-07 · 超过20用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:0
展开全部
三楼的可以
定义一个主线程里面包含两个子线程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huya0002
2009-03-07 · TA获得超过968个赞
知道小有建树答主
回答量:2023
采纳率:0%
帮助的人:881万
展开全部
lz作业还是要自己做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式