A question about thread,please help me
My program environment is .net2005.The partial code is shown as below:
void CfinalView::OnRButtonDblClk(UINT nFlags, CPoint point)
{
CRect rc;
GetClientRect(&rc);
if(point.x>rc.left&&point.x<(rc.right/2)&&point.y>rc.top&&point.y<rc.bottom)
{
//AfxBeginThread(RUNTIME_CLASS(CDetailPlot));
}
if(point.x>(rc.right/2)&&point.x<rc.right&&point.y>rc.top&&point.y<(rc.bottom/2))
{
//AfxMessageBox(_T("haha"));
AfxBeginThread(RUNTIME_CLASS(CDetailPlot));
}
CView::OnRButtonDblClk(nFlags, point);
}
22222222222222222222222222222222222222
BOOL CDetailPlot::InitInstance()
{
pCFrameWnd=new CMyFrameWnd();
pCFrameWnd->Create(NULL,_T("6?_5T?5:U"));
HWND hWnd=pCFrameWnd->GetSafeHwnd();
pCFrameWnd->ShowWindow(SW_SHOW);
ChidThread=AfxBeginThread(PlotConstell,(LPVOID)pCFrameWnd);
pCFrameWnd->ChildThread=ChidThread;
//Listen((LPVOID)pFrameWnd);
return TRUE;
}
----------------------------------------------------------------------------
void CMyFrameWnd::OnLButtonUp(UINT nFlags, CPoint point)
{
DCount++;
if(DCount%2!=0)
{
SuspendThread(ChildThread->m_hThread);
}
else
{
ResumeThread(ChildThread->m_hThread);
}
CFrameWnd::OnLButtonUp(nFlags, point);
}
---------------------------------------------------------------------------
class CMyFrameWnd : public CFrameWnd
{
DECLARE_DYNCREATE(CMyFrameWnd)
public:
CMyFrameWnd(); // 5 65?:5?T604W77Y54W\6 ?7Y6[9?5!6"?
virtual ~CMyFrameWnd();
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
CWinThread *ChildThread;
public:
int DCount;
};
What I want to do is create a user-interface thread when double check the
left button of mouse in mainframe.And then in the new window I want to create
another worker thread to plot.When it plotting , I could suspend/resume the
plot thread by check left button.
The problem is when the child-window responsed the mouse's
action(suspend plot thread) , it may suspend the thread of mainframe
stochastic, and another check will resume both of then.
Please tell me why it happened and how to deal with.Thank you.