首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++,window环境,为什么全局的线程函数使用类的成员函数有时候会出错?该类是通过线程参数传递进去的,怎么解决啊

2013-11-15 
C++,window环境,为什么全局的线程函数使用类的成员函数有时候会出错?该类是通过线程参数传递进去的,如何解

C++,window环境,为什么全局的线程函数使用类的成员函数有时候会出错?该类是通过线程参数传递进去的,如何解决啊?
m_hThread = (HANDLE)_beginthreadex(NULL,0,ClientThread,this,0,NULL);

//线程函数
unsigned int  WINAPI ClientThread(LPVOID lpParam)
{
 CSocketThread *pSocketThread = (CSocketThread*)lpParam;
        CMainWin *pMainWin = pSocketThread->Get_pMainWin();//偶尔出错
ECOMMUNICATETYPE eKind = pSocketThread->Get_eCommunicateType();////偶尔出错
char* chrRecBuffer = pSocketThread->GetRevBuf();//偶尔出错
} C++ 多线程
[解决办法]
类对象的生命周期比线程长吗?
[解决办法]
你的意思是在类里面创建线程  然后通过参数传递在全局(非该类对象)处调用该线程么?是的话你能保证创建线程的对象 的生命周期在你调用函数(全局)时的存在性么?

热点排行