线程是这样创建的:CRuntimeClass* prt;
prt = RUNTIME_CLASS( CNetSnd );
ASSERT( lstrcmp( prt->m_lpszClassName, "CNetSnd" ) == 0 );
CWinThread *pcNetSnd = AfxBeginThread( prt );
prt = RUNTIME_CLASS( CNetSnd );
ASSERT( lstrcmp( prt->m_lpszClassName, "CNetSnd" ) == 0 );
CWinThread *pcNetSnd = AfxBeginThread( prt );
解决方案 »
- 托管代码与非托管代码之间的地址传递???
- dll转为lib
- 200分求一个单机版的vc程序~~~(另外100开贴再给)
- AutoCAD二次开发的问题
- 线程被无缘无故挂起 wait reason显示为 wairing for lpc reply
- 为什么我不能单步调试
- 简单问题。很快给分,谢谢
- 数据库ODBC查询:LIKE '*' 不能用于VC++中?
- 微软的混蛋给的msdn太差了,我在api编程时碰到的问题,msdn都是含糊不清,和别的编程语言没法比!!!
- VC坐标轴动态改变问题?
- 几个基础的问题!(对话框中ESC和ENTER,代参数的EXE,INI文件等),来者有分。
- VC流行的界面库都有那些?那些是需要注册的,那些是免费的?各自有什么特点?
ExitThread
_endthreadex
或者异常终止,ExitInstance 不会调用。如果用 AfxEndThread 终止,ExitInstance 不会调用,CWinThread 的 destructor 会调用
相应此消息的函数里调用了PostQuitMessage( 1 );
请问如何才能调用ExitInstance呢?
如果是使用的堆栈变量则是退出作用域自动析够
比如
您可以
int volatile nFlag=1;工作线程
while(flag)
{
//do something
}主线程退出
flag=0;