C++,在线程中调用类的成员函数,为什么数据偶尔会出错,偶尔就是对的?
线程是在这里面创建的
void CSocketThread::CreateSocketThread()
{
m_hThread = (HANDLE)_beginthreadex(NULL,0,ClientThread,this,0,NULL);
Sleep(1000);
if (m_hThread == NULL)//如果线程创建失败
{
printf("创建线程失败:%d\n",WSAGetLastError());
}
}
unsigned int WINAPI ClientThread(LPVOID lpParam)
{
CSocketThread *pSocketThread = (CSocketThread*)lpParam;//这里转换的时候显示成员变量的值不变
CMainWin *pMainWin = pSocketThread->Get_pMainWin();//偶尔出错
ECOMMUNICATETYPE eKind = pSocketThread->Get_eCommunicateType();////偶尔出错
char* chrRecBuffer = pSocketThread->GetRevBuf();//偶尔出错
}