关于进程,线程的问题

HNET 2003-07-22 08:46:18
考察下面代码:
STARTUPINFO si = { sizeof( si ) };
PROCESS_INFORMATION pi;

BOOL fSuccess = ::CreateProcess( NULL, TEXT("processC.exe"), NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi );

if ( fSuccess )
{
DWORD dwExitCode;

::CloseHandle( pi.hThread );
::WaitForSingleObject( pi.hProcess, INFINITE );
::GetExitCodeProcess( pi.hProcess, &dwExitCode );
::CloseHandle( pi.hProcess );
}

....

问题1:进程的主线程如果被CloseHandle了, 进程也应该结束运行的呀。但结果不是,为什么?
问题2:把主线程CloseHandle了,可用spy++仍然能看到thread id, 为什么?
...全文
72 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧