除了定义全局变量,还有什么方法可以向工作者线程传递参数?
定义全局变量
CClientInfo* pClientClose;
定义工作者线程
UINT ClientCloseProc(LPVOID pParam)
{
CClientInfo *m_pClient;
m_pClient = ::pClientClose; //②
}
在主线程中:
::pClientClose = pClient; //①
AfxBeginThread(ClientCloseProc, GetSafeHwnd(), THREAD_PRIORITY_HIGHEST);
Debug显示
程序运行到①时 pClientClose被正常赋值
但程序运行到②时 pClientClose值为空
如何解释,如何解决?
谢谢!