怎样确保,子线程完全退出了,父线程才退出?
怎样确保,子线程完全退出了,父线程才退出?
[解决办法]
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 );//结束子进程
}