導覽
近期變更
隨機頁面
新手上路
新頁面
優質條目評選
繁體
不转换
简体
繁體
18.216.220.244
登入
工具
閱讀
檢視原始碼
特殊頁面
頁面資訊
求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。
檢視 CWinThread 的原始碼
←
CWinThread
前往:
導覽
、
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" align="right" |- | style="background: #008080" align= center| '''<big>CWinThread</big> ''' |- | [[File:9f2f070828381f30708439d9a9014c086e06f025.jpg|缩略图|居中|[https://i01piccdn.sogoucdn.com/ae413be0808ed686 原图链接][https://pic.sogou.com/pics?ie=utf8&p=40230504&interV=kKIOkrELjbgQmLkElbYTkKIMkrELjbkRmLkElbkTkKIRmLkEk78TkKILkbHjMz%20PLEDmK6IPjf19z%2F19z6RLzO1H1qR7zOMTMkjYKKIPjflBz%20cGwOVFj%20lGmTbxFE4ElKJ6wu981qR7zOM%3D_844253275&query=%E9%AB%98%E7%A3%81%E5%AF%BC%E7%8E%87%E6%9D%90%E6%96%99 来自搜狗的图片]]] |- | style="background: #008080" align= center| |- | align= light| |} MFC类。'''CWinThread'''类是MFC用来封装线程的,包括UI线程和工作者线程。因此每个MFC程序至少使用一个CWinThread派生类。被MFC程序员熟知的CWinApp应用类就从这里派生。 =='''简介'''== Windows以线程封装消息循环,封装消息循环的线程叫做用户界面线程,即UI线程。该线程可以创建并撤销窗口。此外,还有一种线程叫做工作者线程,它是辅助UI线程工作的,它没有消息循环,不能处理系统事件和窗口消息,也不能关联主窗口。主线程和辅线程虽然享有共同的虚拟地址空间,但各自占用独立的CPU时间片,参与系统资源的竞争。所以,可以使用辅线程完成经常性的、耗费机时的数据处理工作(例如网络通信),减轻UI线程的负担,确保UI线程及时响应用户的窗口操作。根据需要,一个应用程序中也可以创建多个UI线程。Windows允许同时运行一个应用程序的多个备份,又称为运行一个程序的多个实例。InitInstance就是“初始化实例”的意思,可见,它是在实例创建时首先被调用的。应用程序总要重载这个虚函数,进行系统[[设置]],创建运行环境。例如,主窗口一定要在InitInstance()中创建,因为该函数退出后就进入该线程的消息[[循环]]。 =='''评价'''== 阅读PumpMessage代码可知,消息泵并不处理WM_KICKIDLE消息,收到该消息后,直接返回。其实,WM_KICKIDLE消息被用来刺激空闲处理的执行,它作为一个空消息促使::GetMessage()返回。与InitInstance()相反,该函数是在退出消息循环时执行,一般被框架调用,做最后的清理工作。但如果调用InitInstance()失败,ExitInstance()也会被调用。可以重载ExitInstance(),为线程做相关的清理工作。不要在除重载的Run()函数外的地方调用它。如果将CWinThread成员变量m_bAutoDelete设为TRUE,CWinThread::ExitInstance()会删除当前的CWinThread对象。所以,如果在堆栈中构造了UI线程对象,可以利用默认的ExitInstance()自动将它删除。<ref>[https://baijiahao.baidu.com/s?id=1669814219921057673&wfr=spider&for=pc CWinThread]搜狗</ref> =='''参考文献'''== [[Category:312 電腦科學]]
返回「
CWinThread
」頁面