+ -
当前位置:首页 → 问答吧 → 关于线程的终止问题

关于线程的终止问题

时间:2011-12-09

来源:互联网

创建线程代码为:m_hThreadCopy = (HANDLE)_beginthreadex(NULL,0,_CopyThread,this,0,&nThreadID);
我在终止线程时代码为: if(m_hThreadCopy){
CloseHandle(m_hThreadCopy);
m_hThreadCopy = NULL;}
别人说这种终止线程的方法属于强制终止,可能会产生不可预料的结果,请问各位有什么好的方法终止呢?希望能有点代码。。

作者: longen1985   发布时间: 2011-12-09

CloseHandle只是关闭句柄,和终止线程没有关系。硬要说的话,你把句柄关了就没法去强制终止那个线程了。
线程终止:
1、线程函数退出
2、线程自身调用ExitThread
3、TerminalThread强制终止
4、进程结束

作者: kyotrue   发布时间: 2011-12-09

引用楼主 longen1985 的回复:
创建线程代码为:m_hThreadCopy = (HANDLE)_beginthreadex(NULL,0,_CopyThread,this,0,&nThreadID);
我在终止线程时代码为: if(m_hThreadCopy){
CloseHandle(m_hThreadCopy);
m_hThreadCopy = NULL;}
别人说这种终止线程的方法属于强制终止,可能会产生……

最好是让线程自己return返回最安全~

作者: VisualEleven   发布时间: 2011-12-09

热门下载

更多