用多线程同步技术,即一个线程将要取得数据区锁定,另一个线程此时不能存取此块的数据。
看看多线程同步的书。
例如:
void CCalibPage1::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData();
m_nCounter++;
double r;
CSingleLock sLock(&(gpMainFrm->m_mutex));
sLockLock();//此处锁定
double v = gSpindleRevolution;
sLockUnlock();//存取后释放。
if(m_bCalibStart)
{
r = m_CalibValue/v;
m_szTestValue0Format("%f",v);
// m_szTestValueFormat("%f", (v r));
m_szRatioFormat("%f", r);//
UpdateData(false);
}
else if(m_bVerify)
{
m_szTestValueFormat("%f",vgcConfigcalib[PCL833_CHANNEL]ratio);
UpdateData(false);
}
if(m_nCounter > 30)
{
KillTimer(11);
m_bCalibStart = false;
m_bVerify = false;
MessageBox(_T("标定完成!"),_T("CNCTest"));
UpdateButtonStatus();
}
CPropertyPage::OnTimer(nIDEvent);
}
参见:
http://baikebaiducom/view/2808915htm
以上就是关于请教:MFC多线程数据库编程ado,数据库访问冲突。全部的内容,包括:请教:MFC多线程数据库编程ado,数据库访问冲突。、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)