首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

_endthread()结束线程的时候为什么会失败?该如何处理

2012-03-28 
_endthread()结束线程的时候为什么会失败?不知道那些书上有写这些东西点击OK按钮,onbuttonok{while(WaitFo

_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核心编程》

热点排行