CloseHandle到底什么意思?

scdyx 2003-10-16 03:05:05
下面的程序是怎么分离子程序的:
PROCESS_INFORMATION ProcessInformation;
BOOL fSuccess=CreateProcess(...,&ProcessInformation);
if(fSuccess)
{
CloseHandle(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hProcess);
}

其中closehandle有什么作用?invalidates the specified object handle,那无效是什么意思,就是把对象挂起
了还是?那是无效的对象还有什么用?
无效是不是还没有释放资源,还要通过中止函数来释放资源?
...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwertasdfg123 2003-10-17
  • 打赏
  • 举报
回复
每次创建线程、进程操作系统都要计数,调用CloseHandle只是使计数减1,不会关闭任何东西。关闭线程、
进程要不调用TerminateProcess、或TerminateThread,要不等线程、进程自动执行完。
scdyx 2003-10-16
  • 打赏
  • 举报
回复
那CloseHandle(hThread)后,这个线程还在抢占CPU吗?
haocb_jia 2003-10-16
  • 打赏
  • 举报
回复
CloseHandle(hThread)只是减少hThread的使用计数,并没有撤消hThread对象,当你的进程结束,并且hThread计数为0时才撤消hThread对象。
larryvc 2003-10-16
  • 打赏
  • 举报
回复
closehandle可以释放资源,调用后的变量可以被再次使用,否则将会被占用


如:HANDLE hCOM;
hCOM=CreatFile("COM1",.......);
此函数打开了串口1,如果不用Closehandle(hCOM),则再次调用打开串口将会出错

15,472

社区成员

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

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