线程是这样创建的:CRuntimeClass* prt;
prt = RUNTIME_CLASS( CNetSnd );
ASSERT( lstrcmp( prt->m_lpszClassName, "CNetSnd" )  == 0 );
CWinThread *pcNetSnd = AfxBeginThread( prt );

解决方案 »

  1.   

    如果显式调用
    ExitThread
    _endthreadex
    或者异常终止,ExitInstance 不会调用。如果用 AfxEndThread 终止,ExitInstance 不会调用,CWinThread 的 destructor 会调用
      

  2.   

    我是在应用退出的时候向线程发送了一个消息,
    相应此消息的函数里调用了PostQuitMessage( 1 );
    请问如何才能调用ExitInstance呢?
      

  3.   

    你如果是用new为线程对象在堆中分配的内存,你必须调用delete删除线程对象指针.
    如果是使用的堆栈变量则是退出作用域自动析够
      

  4.   

    http://expert.csdn.net/Expert/topic/1106/1106349.xml
      

  5.   

    您应该在将退出的时候告诉线程,让它自己退出。
    比如
    您可以
    int volatile nFlag=1;工作线程
    while(flag)
    {
     //do something
    }主线程退出
    flag=0;