主线程运行,子线程就挂起
void CGUIDlg::OnOK()
{
// TODO: Add extra validation here
m_pThread = AfxBeginThread(IniThread, this);
}
UINT CGUIDlg::IniThread(LPVOID pParam)
{
CGUIDlg* dlg = (CGUIDlg*)pParam;
dlg->WriteThread();
dlg->m_pThread = NULL;
AfxEndThread(0);
return 0;
}
int i=0;
void CGUIDlg::WriteThread()
{
CString str;
while (i<10000000)
{
str.Format("%d",i);
m_Thread.SetWindowText(str.GetBuffer(0));
i++;
}
}
void CGUIDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString str;
str.Format("%d",j);
while (j<10000000)
{
Sleep(1000);
m_Thread.SetWindowText(str.GetBuffer(0));
j++;
}
}
我先按OnOk,线程开启,控件更新数据,
一旦我按下onbutton,为什么子线程就停了,挂起状态。我中间已经sleep()了。