_endthread()结束线程的时候为什么会失败?该如何处理
_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核心编程》
不知道那些书上有写这些东西
点击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核心编程》