读书人

_endthread()结束线程的时候为什么会失

发布时间: 2012-03-28 15:40:03 作者: rapoo

_endthread()结束线程的时候为什么会失败?
不知道那些书上有写这些东西
点击OK按钮,
onbuttonok
{
while(WaitForSingleObject(m_h,0)==WAIT_TIMEOUT)
{
return;
// h = (HANDLE)_beginthread(&ThreadStart,0,(void *)NULL);
}
m_h = (HANDLE)_beginthread(&ThreadStart,0,(void *)NULL);
}

结束按钮的时候
if(m_h!=NULL)
{
_endthread(); //为什么到这里会出错?
}
CDialog::OnCancel();

线程函数是个死循环,就是让不停地循环运行只要不出错,还有sleep();



[解决办法]
_endthread用错地方了,应该在线程函数中ThreadStart中调用,否则应该使用TerminateThread()函数来终止线程
[解决办法]
《Windows核心编程》

读书人网 >C++

热点推荐