还有个问题,OnDraw(CDC* pDC)这个算 不算一个线程呢?如果是的话怎么没有开启线程之类的语句?如果是的话就可以用使用 CEvent 类来实现同步,对不对?

解决方案 »

  1.   

    我的同步的意思就是绘制出图像的同时保存数据,但是我现在是保存数据滞后绘制图像很长时间,大概有5分钟。
    这就是我写的:
    void CNetWatcherViewerView::OnDraw(CDC* pDC)
    {
    CNetWatcherViewerDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    if( pDoc->m_bRecvFlag)//开始绘制图像的标志
    {
    DrawCurve(pDC, m_uiChannelIndex);
    }         if(m_ReadToExcel==TRUE)//开始保存数据的标志
            {

            }
    }
      

  2.   

    保存数据不要放在OnDraw中,另外开个线程或者就在采集线程保存就行了。
      

  3.   

    那你的意思是OnDraw就是一个线程?那我另开一个线程,当采集到一个数据时,程序是先执行画图还是保存?两者都在内存中不会发生冲突吗?