1 MFC线程的使用
CWinThread *threadFlag;
//线程声明
static UINT testThread(LPVOID param);
//线程实现
UINT CTestDialog::testThread(LPVOID param)
{
CTestDialog *changedlg = (CTestDialog *)param;
while(1)
{
//do someting...
Sleep(10); //不加这个线程空跑的时候会卡
}
return 0;
}
void CTestDialog::OnBnClickedButton6()
{
static int s_changeState = 0;
if (s_changeState == 0)
{
m_threadFlag = AfxBeginThread(testThread,this);
GetDlgItem(IDC_BUTTON6)->SetWindowText("暂停");
s_changeState = 1;
}
else if (s_changeState == 1)
{
m_threadFlag->SuspendThread();
GetDlgItem(IDC_BUTTON6)->SetWindowText("继续");
s_changeState = 2;
}
else if (s_changeState == 2)
{
m_threadFlag->ResumeThread();
GetDlgItem(IDC_BUTTON6)->SetWindowText("暂停");
s_changeState = 1;
}
}