读书人

怎样确保子线程完全退出了父线程才

发布时间: 2012-02-06 15:52:44 作者: rapoo

怎样确保,子线程完全退出了,父线程才退出?
怎样确保,子线程完全退出了,父线程才退出?

[解决办法]
SignalObjectAndWait, WaitForSingleObject, and WaitForSingleObjectEx
或者
WaitForMultipleObjects, WaitForMultipleObjectsEx, MsgWaitForMultipleObjects, and MsgWaitForMultipleObjectsEx
[解决办法]
父线程等待子线程? WaitForSingleObject?
[解决办法]
PROCESS_INFORMATION pi;
DWORDdwExitCode;
BOOLfSucess = ::CreateProcess( ...., &pi );//创建一个进程
if ( fSucess )
{
::CloseHandle( pi.hThread ); //结束一个进程对象 ,这里仅使计数器减1,但进程并未结束
::WaitForSingleObject( pi.hProcess, INFINITE );//接受到进程对象结束消息
::GetExitCodeProcess( pi.hProcess ,&dwExitCode );//获得子进程退出码 根据dwExitCode你可以判断进程是否已经结束
::CloseHandle( pi.hProcess );//结束子进程
}

读书人网 >C++

热点推荐