VC 创建多线程的问题

MFC中创建了一个基于对话框的应用程序.问题1:在button按钮中,创建一个线程,在线程中最终运行完成.把数据发送到界面上的控件上来.这个过程中..如果button按钮... MFC中创建了一个基于对话框的应用程序.
问题1 :在button按钮中,创建一个线程,在线程中最终运行完成.把数据发送到界面上的控件上来.这个过程中..如果button按钮中不等待线程完成.那么线程就退出了..
问题2:通过别人告知菜单响应函数是主线程. 在菜单响应函数中创建了线程.可以满足我的要求

但是我不知道.那些地方是主线程...能否靠知还有其它的地方创建线程.
展开
 我来答
cknight123
2010-01-20 · TA获得超过964个赞
知道小有建树答主
回答量:532
采纳率:0%
帮助的人:589万
展开全部
mfc编程中你可以暂时理解成默认是单线程(即只有一个主线程)。
随意在任意地方创建了线程都可看做是辅助线程。

线程的一般目的是为了实现同步效果。

那么你在button的响应函数中创建了一个线程,然后就可以不用管了,即不用等待线程完成。因为我们想要求这个新线程可以随着对话框 同时运行的,这样线程即使运算复杂到时运行时间很长(你可以用长时间的循环来模拟),也不会造成对话框假死现象。

当你创建线程时候,可以给线程函数传递一个参数,这个参数你可以把对话框的指针传进去(也就是 this 指针)。当线程完成前,在线程函数里调用这个 对话框指针,进行操作就好。

还有就是你对话框的 button不要用默认按钮,你要新拖个按钮来弄。对话框创建时自带的2个按钮(‘确定’,‘取消’),都有默认的响应函数了,更改也不难,不过不是这里重点,楼主暂时忽视就行。

-----------以下部分只是补充,可以无视,不是重点-------

暂时理解成mfc是一个单线程程序,只要不是你建立的线程,都可以理解成主线程。

但是调试时你会发现系统会自动创建n个辅助线程来帮程序运行,点击查看的话会提示只能显示其汇编代码。也就是说,mfc自带的代码他都是处于主线程上的。
Anvilmar
2010-01-19 · TA获得超过108个赞
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
说实话,我没看懂你到底要表达什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anylifying
2010-01-20 · 超过26用户采纳过TA的回答
知道答主
回答量:358
采纳率:0%
帮助的人:0
展开全部
确实没有看懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
50573750
2010-01-19 · TA获得超过976个赞
知道大有可为答主
回答量:1800
采纳率:100%
帮助的人:0
展开全部
请您表达清楚自己的想法,好么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式