VC 创建多线程的问题
发布网友
发布时间:2022-04-24 17:02
我来回答
共4个回答
热心网友
时间:2023-10-24 14:01
mfc编程中你可以暂时理解成默认是单线程(即只有一个主线程)。
随意在任意地方创建了线程都可看做是辅助线程。
线程的一般目的是为了实现同步效果。
那么你在button的响应函数中创建了一个线程,然后就可以不用管了,即不用等待线程完成。因为我们想要求这个新线程可以随着对话框 同时运行的,这样线程即使运算复杂到时运行时间很长(你可以用长时间的循环来模拟),也不会造成对话框假死现象。
当你创建线程时候,可以给线程函数传递一个参数,这个参数你可以把对话框的指针传进去(也就是 this 指针)。当线程完成前,在线程函数里调用这个 对话框指针,进行操作就好。
还有就是你对话框的 button不要用默认按钮,你要新拖个按钮来弄。对话框创建时自带的2个按钮(‘确定’,‘取消’),都有默认的响应函数了,更改也不难,不过不是这里重点,楼主暂时忽视就行。
-----------以下部分只是补充,可以无视,不是重点-------
暂时理解成mfc是一个单线程程序,只要不是你建立的线程,都可以理解成主线程。
但是调试时你会发现系统会自动创建n个辅助线程来帮程序运行,点击查看的话会提示只能显示其汇编代码。也就是说,mfc自带的代码他都是处于主线程上的。
热心网友
时间:2023-10-24 14:01
说实话,我没看懂你到底要表达什么
热心网友
时间:2023-10-24 14:01
确实没有看懂
热心网友
时间:2023-10-24 14:02
请您表达清楚自己的想法,好么?