专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

工作者线程和用户界面线程_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 20:30:09       共计:3595 浏览

工作者线程和用户界面线程?

1)界面最好是放在一个线程中进行统一管理。

2)界面最好让主线程来管理3)在MFC中,如果主界面收到WM_QUIT,即意味着要关闭窗口,那么主线程也就退出/返回/return了。4)主线程退出,其他辅助线程不管有没有执行完成,都会因为主线程的退出而退出,主线程退出也就意味着进程结束了。楼主说的还不够精确。我的理解是:工作线程进行计算,主线程的主界面不负责显示工作进度,只要有工作线程,主界面应该创建一个界面来显示工作线程的工作进度,如果工作线程完成了,进度显示界面也应该消失。如果是这样的逻辑,可以这样布局:1)专门定义一个进度界面的窗口类,为了能与工作线程进行交流,需要为这个进度界面窗口类定制各种自定义消息,并且该类的窗口实例应该作为主界面的子窗口,这样做是当主界面被关闭,作为子窗口也会被关闭。2)工作线程应该由主界面创建,进度界面也由主界面创建。

3)工作线程汇报工作进度,主界面不干预,汇报工作直接在工作线程与进度界面之间通过自定义消息实现。

4)工作线程需要return前给主界面发送即将完成消息。

5)所有线程都有“完成信号”状态,即线程在运行时,处于无信号状态,线程完成退出,处于有信号状态。不熟悉可以看下“系统编程”有关内容。利用该特性,主线程在收到工作线程发来的即将完成消息后,调用WaitForSingleObject,将自己临时阻塞,阻塞会造成主界面无法响应用户鼠标键盘消息,形成假死状态。但这种情况几乎看不到。主线程收到工作线程消息才调用WaitForSingleObject,才会阻塞,但工作线程这个时候基本上已经退出了,因此WaitForSingleObject几乎没有等待就返回了,因此主界面被阻塞的估计值是小于1秒钟。即使是最坏的情况下,多个工作线程同时完成,主界面需要依次调用WaitForSingleObject,也不会有问题。6)WaitForSingleObject返回了,标志工作线程结束工作,主界面就可以安全地关闭进度界面窗口。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:非常的近义词是什么标准答案_java | ·下一条:8051单片机的_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有