如何暂停主线程直到第二个线程的终止?
如何暂停主线程直到第二个线程的终止?
http://www.codeproject.com/threads/waitthreadmsi.asp#xx441032xx
By Ybbozman
本文题目意思是:主线程要继续执行,必须先等待另一个线程的终止。如何等待另一个线程的终止,正是下文要讲述的。
简介Introduction
几周前,我需要制作一个对话框将它作为MSI安装程序的一部分,为此所写的代码必须是作为一个Regular(规则)DLL发布。这个对话框是否可见,完全依赖于安装完成的结果,该功能用另一个线程完成,安装完成后这个线程被终止,并最终显示这个对话框。
我从Microsoft那里寻求一些帮助,找到了正确解决方案:
解决
你必须写两个函数,第一个void CMyTestDialog::PeekMessageLoop() 将从消息队列中获取消息:
void CMyTestDialog::PeekMessageLoop()
{
MSG msg;
while (PeekMessage(