编写线程,需要注意线程之间的同步,MFC提供的同步类(Synchroinze)有:
CSemaphore,CCriticalSection ,CEvent ,CMutex 。比如:
主线程与辅线程(工作线程)之间的同步:
1.构造同步对象:CEvent m_event;
2.在需要同步的地方调用WaitForSingleObject(只有一个辅线程)或WaitForMultipleObjects(有多个辅线程)。具体的请看msdn及其例子。

解决方案 »

  1.   

    synchronize()的作用是在主线程中执行一个方法; 当我们创建一个线程对象的时候,vcl会创建和维护一个隐含的线程窗口这个窗口的作用是把synchronize()调用的方法排队.
    比如giveanswer是一个方法则
    synchronize(giveanswer)
    格式:procedure synchronize(method;TTHREADMETHOD);
      

  2.   

    'xiezhsh(雪中行) '
    老兄,你说的那些CSemaphore,CCriticalSection ,CEvent ,CMutex 。
    好象是VC的东西吧,虽说编程的思想差不多但是我希望给一点DELPHI方面的指教!
      

  3.   

    ‘vcl会创建和维护一个隐含的线程窗口这个窗口的作用是把synchronize()调用的方法排队’
    VCL怎么对隐含的窗口排队呢?是直接调用?还是其他的方法?