Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1028325
  • 博文数量: 288
  • 博客积分: 10306
  • 博客等级: 上将
  • 技术积分: 3182
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-12 17:00
文章分类

全部博文(288)

文章存档

2011年(19)

2010年(38)

2009年(135)

2008年(96)

我的朋友

分类: 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;
    }

    ......

 }

阅读(1358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~