4个回答
展开全部
1)界面最好是放在一个线程中进行统一管理。
2)界面最好让主线程来管理
3)在MFC中,如果主界面收到WM_QUIT,即意味着要关闭窗口,那么主线程也就退出/返回/return了。
4)主线程退出,其他辅助线程不管有没有执行完成,都会因为主线程的退出而退出,主线程退出也就意味着进程结束了。
楼主说的还不够精确。
我的理解是:
工作线程进行计算,主线程的主界面不负责显示工作进度,只要有工作线程,主界面应该创建一个界面来显示工作线程的工作进度,如果工作线程完成了,进度显示界面也应该消失。
如果是这样的逻辑,可以这样布局:
1)专门定义一个进度界面的窗口类,为了能与工作线程进行交流,需要为这个进度界面窗口类定制各种自定义消息,并且该类的窗口实例应该作为主界面的子窗口,这样做是当主界面被关闭,作为子窗口也会被关闭。
2)工作线程应该由主界面创建,进度界面也由主界面创建。
3)工作线程汇报工作进度,主界面不干预,汇报工作直接在工作线程与进度界面之间通过自定义消息实现。
4)工作线程需要return前给主界面发送即将完成消息。
5)所有线程都有“完成信号”状态,即线程在运行时,处于无信号状态,线程完成退出,处于有信号状态。不熟悉可以看下“系统编程”有关内容。利用该特性,主线程在收到工作线程发来的即将完成消息后,调用WaitForSingleObject,将自己临时阻塞,阻塞会造成主界面无法响应用户鼠标键盘消息,形成假死状态。但这种情况几乎看不到。主线程收到工作线程消息才调用WaitForSingleObject,才会阻塞,但工作线程这个时候基本上已经退出了,因此WaitForSingleObject几乎没有等待就返回了,因此主界面被阻塞的估计值是小于1秒钟。即使是最坏的情况下,多个工作线程同时完成,主界面需要依次调用WaitForSingleObject,也不会有问题。
6)WaitForSingleObject返回了,标志工作线程结束工作,主界面就可以安全地关闭进度界面窗口。
2)界面最好让主线程来管理
3)在MFC中,如果主界面收到WM_QUIT,即意味着要关闭窗口,那么主线程也就退出/返回/return了。
4)主线程退出,其他辅助线程不管有没有执行完成,都会因为主线程的退出而退出,主线程退出也就意味着进程结束了。
楼主说的还不够精确。
我的理解是:
工作线程进行计算,主线程的主界面不负责显示工作进度,只要有工作线程,主界面应该创建一个界面来显示工作线程的工作进度,如果工作线程完成了,进度显示界面也应该消失。
如果是这样的逻辑,可以这样布局:
1)专门定义一个进度界面的窗口类,为了能与工作线程进行交流,需要为这个进度界面窗口类定制各种自定义消息,并且该类的窗口实例应该作为主界面的子窗口,这样做是当主界面被关闭,作为子窗口也会被关闭。
2)工作线程应该由主界面创建,进度界面也由主界面创建。
3)工作线程汇报工作进度,主界面不干预,汇报工作直接在工作线程与进度界面之间通过自定义消息实现。
4)工作线程需要return前给主界面发送即将完成消息。
5)所有线程都有“完成信号”状态,即线程在运行时,处于无信号状态,线程完成退出,处于有信号状态。不熟悉可以看下“系统编程”有关内容。利用该特性,主线程在收到工作线程发来的即将完成消息后,调用WaitForSingleObject,将自己临时阻塞,阻塞会造成主界面无法响应用户鼠标键盘消息,形成假死状态。但这种情况几乎看不到。主线程收到工作线程消息才调用WaitForSingleObject,才会阻塞,但工作线程这个时候基本上已经退出了,因此WaitForSingleObject几乎没有等待就返回了,因此主界面被阻塞的估计值是小于1秒钟。即使是最坏的情况下,多个工作线程同时完成,主界面需要依次调用WaitForSingleObject,也不会有问题。
6)WaitForSingleObject返回了,标志工作线程结束工作,主界面就可以安全地关闭进度界面窗口。
万企明道
2024-08-07 广告
2024-08-07 广告
低代码开发系统,作为上海万企明道软件有限公司的重要产品方向,极大地简化了软件开发流程。它允许非专业开发者通过图形化界面与少量代码,快速构建应用程序。这一系统降低了技术门槛,加速了项目上线时间,同时提升了软件的灵活性和可维护性。我们致力于为用...
点击进入详情页
本回答由万企明道提供
展开全部
估计是说的MMI,语言是:C语言。工具一堆:VC+++ARM+PERL+SOURCE INSIGHT如果你要图片处理:+MTC
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MTK的模式名为“Turn-key”的全面解决方案,厂商采用了这个方案,只需要加一个手机外壳即可成品——这能大... MTK平台主要用C语言开发,所以要熟悉MTK开发,首先必须熟悉掌握C语言,MTK的sdk与vc8集成,MMI的各控件和...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-07-19
展开全部
VC++,用source insight管理代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询