关于多线程编程
为什么我得程序会出错呢?
请教了:
dlg.h文件
UINT SaveData(LPVOID pParam);
dlg.cpp文件
CEvent m_savetosqlevent;//线程同步全局变量
Dlg::OnInitDialog()
{
psavedataThread=AfxBeginThread(SaveData,this,THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED);
psavedataThread->ResumeThread();//psavedataThread为dlg的成员变量
}
Dlg::ontimer()//定时器函数
{
m_savetosqlevent.SetEvent();
psavedataThread->ResumeThread();
}
UINT SaveData(LPVOID pParam)
{
CPcsDlg *pMainDlg = (CPcsDlg *)pParam;//
WaitForSingleObject(m_savetosqlevent.m_hObject,INFINITE);
CString str;
str.Format("%.2f",pMainDlg->ps7dataA[1].value);
pMainDlg->SetDlgItemText(IDC_STC_SHOWVALUE,str);
pMainDlg->psavedataThread->SuspendThread();
return 0;
}