分类: C/C++
2008-09-26 11:24:24
安全结束线程的方法
作者:JQB EMail:jqb2@163.com
1.等待处的代码为:
if( NULL != 线程指针 )
{
if( NULL != 线程结束事件 )
{
SetEvent( 线程结束事件 );
if( NULL != 线程句柄 )
{
DWORD dwWait = 2;
while( ( dwWait = ::WaitForSingleObject( 线程句柄, 100 ) ) == WAIT_TIMEOUT )
{ Sleep( 200 ); }
线程指针 = NULL;
}
}
}
2.线程中的代码为:
while( 1 )
{
......
if( WaitForSingleObject( 线程结束事件, 0 ) == WAIT_OBJECT_0 )
{
ResetEvent( 线程结束事件 );
break;
}
else
{
continue;
}
......
}