
CreateThread后调用CloseHandle,线程函数为什么仍在执行?
小弟刚学多线程开发,对这方面还不太懂。最近写了如下的代码:hThread1=CreateThread(NULL,0,Fun1Pro,NULL,0,NULL);hThrea...
小弟刚学多线程开发,对这方面还不太懂。最近写了如下的代码:
hThread1=CreateThread(NULL,0,Fun1Pro,NULL,0,NULL);
hThread2=CreateThread(NULL,0,Fun2Pro,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
在线程函数中设置了断点,发现运行了CloseHandle后,线程函数仍在执行,这是为什么呢?谢谢大家 展开
hThread1=CreateThread(NULL,0,Fun1Pro,NULL,0,NULL);
hThread2=CreateThread(NULL,0,Fun2Pro,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
在线程函数中设置了断点,发现运行了CloseHandle后,线程函数仍在执行,这是为什么呢?谢谢大家 展开
展开全部
CreateThread函数已经开启了线程,反回了现成的HANDLE。如果程序中不需要用到该线程的句柄,就可以使用CloseHandle将线程句柄释放。CloseHandle只是将句柄释放,并未将线程关闭。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询