求助: 初始化MFC的CThreadEx类时是不是先运行 InitInstance() 然后构造函数 然后run() 初始化MFC的CThreadEx类时是不是先运行 InitInstance() 然后构造函数 然后run() ?谢谢了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先初始化CWinThread的派生类,调用派生类的构造函数。然后通过CWinThread的CreateThread函数创建一个线程,线程函数为_AfxThreadEntry以下是_AfxTheadExtry的代码 // first -- check for simple worker thread DWORD nResult = 0; if (pThread->m_pfnThreadProc != NULL) { nResult = (*pThread->m_pfnThreadProc)(pThread->m_pThreadParams); ASSERT_VALID(pThread); } // else -- check for thread with message loop else if (!pThread->InitInstance()) { ASSERT_VALID(pThread); nResult = pThread->ExitInstance(); } else { // will stop after PostQuitMessage called ASSERT_VALID(pThread); nResult = pThread->Run(); }有上述代码可知,首先检测有没有自定义的线程函数,如有则调用线程函数,如没有自定义线程函数则调用InitInstance函数。如果InitInstance函数返回FALSE,则继续调用Run函数。 单文档窗口的划分? an unsupported operation was attempted 椭圆区域裁剪的问题? 串口接收缓冲溢出问题 求 Mysql C API 事务例子? virtual AFX_MSGMAP* GetMessageMap() const; 【CListCtrl行列判断】CListCtrl 控件如何判断当鼠标在这个控件上移动时,移动到了哪一行,哪一列??? 高手救命!! 怎么用VC对并口编程 VC中如何得到一个变量的物理地址? c/c++/vc求职 上海 步行上下班快有一年了! vc用POST向WEB服务器传文件,如何编码?
然后通过CWinThread的CreateThread函数创建一个线程,线程函数为_AfxThreadEntry
以下是_AfxTheadExtry的代码
// first -- check for simple worker thread
DWORD nResult = 0;
if (pThread->m_pfnThreadProc != NULL)
{
nResult = (*pThread->m_pfnThreadProc)(pThread->m_pThreadParams);
ASSERT_VALID(pThread);
}
// else -- check for thread with message loop
else if (!pThread->InitInstance())
{
ASSERT_VALID(pThread);
nResult = pThread->ExitInstance();
}
else
{
// will stop after PostQuitMessage called
ASSERT_VALID(pThread);
nResult = pThread->Run();
}
有上述代码可知,首先检测有没有自定义的线程函数,如有则调用线程函数,
如没有自定义线程函数则调用InitInstance函数。如果InitInstance函数返回FALSE,则继续调用Run函数。