Re: AfxThread question
It can't not get called at all. When you put the sleep call between the two
AfxBeginThread calls you are letting the first thread run a little, so it
will get called right at the sleep function call. But when you remove it,
it won't run until the function that is calling AfxBeginThread exits. But it
will run.
By the way where is m_CListBox_Client1 coming from (since your
ClientThreadFunction must be static)?
AliR.
"kathy" <yqin_99@yahoo.com> wrote in message
news:1146249967.382180.310820@i40g2000cwc.googlegroups.com...
I have a piece of code:
...
m_data.sThreadType = _T("Client1");
CWinThread* clientThread1 =
AfxBeginThread(ClientThreadFunction,(LPVOID)&m_data);
::Sleep(1);
m_data.sThreadType = _T("Client2");
CWinThread* clientThread2 =
AfxBeginThread(ClientThreadFunction,(LPVOID)&m_data);
...
UINT CDialog_MFC_WorkThread::ClientThreadFunction(LPVOID pParam)
{
ThreadData* pData = (ThreadData*) pParam;
CString cs = pData->sThreadType;
if(cs == _T("Client1"))
m_CListBox_Client1.AddString(_T("in ClientThreadFunction()"));
else if(cs == _T("Client2"))
m_CListBox_Client2.AddString(_T("in ClientThreadFunction()"));
return 0;
}
it runs OK.
BUT, If I comment out the Sleep(1), I set break point at:
m_CListBox_Client1.AddString(_T("in
ClientThreadFunction()"));
It never breaks. Why?