MFC多线程this
.......................voidCNetWorkThread::CreateThread(){m_pThread=AfxBeginThread(Se...
...........
............
void CNetWorkThread::CreateThread()
{
m_pThread=AfxBeginThread(ServiceFunction, this, THREAD_PRIORITY_NORMAL, 0, 0, NULL );
}
UINT CNetWorkThread::ServiceFunction(LPVOID pParam)
{
//TRACE0("ServiceFunction(LPVOID pParam)");
CNetWorkThread * pThread=(CNetWorkThread *)pParam;
pThread->Run();
return 1;
}
..........
..........
为什么ServiceFunction要定义静态的,全局用吗?为什么要用这个函数不直接调用run()呢?是界面线程和工作线程问题吗,为什么?m_pThread=AfxBeginThread(ServiceFunction, this, THREAD_PRIORITY_NORMAL, 0, 0, NULL );这里的this指针代表什么,为什么要用this?
CNetWorkThread * pThread=(CNetWorkThread *)pParam;这里为什么要这样写,为什么用pParam
请大家赐教!感激不尽!
回答详细加倍加分! 展开
............
void CNetWorkThread::CreateThread()
{
m_pThread=AfxBeginThread(ServiceFunction, this, THREAD_PRIORITY_NORMAL, 0, 0, NULL );
}
UINT CNetWorkThread::ServiceFunction(LPVOID pParam)
{
//TRACE0("ServiceFunction(LPVOID pParam)");
CNetWorkThread * pThread=(CNetWorkThread *)pParam;
pThread->Run();
return 1;
}
..........
..........
为什么ServiceFunction要定义静态的,全局用吗?为什么要用这个函数不直接调用run()呢?是界面线程和工作线程问题吗,为什么?m_pThread=AfxBeginThread(ServiceFunction, this, THREAD_PRIORITY_NORMAL, 0, 0, NULL );这里的this指针代表什么,为什么要用this?
CNetWorkThread * pThread=(CNetWorkThread *)pParam;这里为什么要这样写,为什么用pParam
请大家赐教!感激不尽!
回答详细加倍加分! 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询