2016 - 2024

感恩一路有你

mfc创建线程的三种方法 工作者线程和用户界面线程?

浏览量:1795 时间:2021-03-12 08:23:38 作者:admin

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

1)接口最好放在统一管理的线程中。

2)3)在MFC中,如果主界面收到WM_uquitmeans关闭窗口,则主线程将退出/返回/返回。4) 当主线程退出时,无论执行是否完成,其他辅助线程都会因为主线程的退出而退出。主线程的退出意味着进程的结束。房东说的不够准确。我的理解是:在工作线程计算时,主线程的主界面不负责显示工作进度。只要存在一个工作线程,主界面就应该创建一个界面来显示工作线程的工作进度。如果工作线程已完成,则进度显示界面也应消失。如果逻辑是这样的,那么布局可以如下:1)定义进度接口的窗口类。为了与工作线程通信,需要为progress接口的window类自定义各种自定义消息,并且该类的window实例应该用作主接口的子窗口。当主界面关闭时,它也将作为子窗口关闭。2) 工作线程应该由主接口创建,进度接口也应该由主接口创建。

3)工作线程报告工作进度,主界面不干预。报表工作通过工作线程和进度接口之间的用户定义消息直接实现。

4)工作线程需要在返回之前将完成消息发送到主界面。

5)所有线程都有“完成信号”状态,即线程运行时处于无信号状态,线程退出后处于信号状态。如果不熟悉,可以看一下“系统编程”的相关内容。使用此功能,主线程在接收到来自工作线程的完成消息后,会调用WaitForSingleObject来临时阻塞自身。阻塞将导致主界面无法响应用户的鼠标和键盘消息,形成挂起动画状态。但这几乎看不见。主线程仅在从工作线程接收到消息后才调用WaitForSingleObject。但是,工作线程此时基本上已退出。因此,WaitForSingleObject几乎不用等待就返回。因此,阻塞主接口的估计值小于1秒。即使在最坏的情况下,当多个工作线程同时完成时,主接口也需要依次调用WaitForSingleObject,没有问题。6) WaitForSingleObject返回,表示工作线程已完成工作,并且主接口可以安全地关闭progress interface窗口。

mfc创建线程的三种方法 mfc界面线程 mfc添加自定义函数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。