多線程編程-線程同步
在多線程編程中,每個線程間需要協同工作,MFC提供了多種數據同步對象。
1.CCriticalSection 監界區
1) 使用CCriticalSection對象要包含頭文件afxmt.h
2) 定義全局CCriticalSection對象。
3) 在每個線程中要訪問的監界區對象時,調用CCriticalSection對象的Lock()方法,當不需要時,調用UnLock().





































2.CEvent 事件
分為人工事件和自動事件:
CEvent(BOOL bInitiallyOwn=FALSE,
BOOL bManualReset=FALSE,
LPCTSTR lpszName=NULL,
LPSECURITY_ATTRIBUTES lpsaAttribute=NULL);















































3.CSemaphore類
允許一個或多個進程中的有限多個線程訪問一個資源的同步對象
4.CMutex 互斥
相當於CCriticalSection,只是CMutex可以在不同進程間訪問.防止程序運行多個實例,可以使用譔對象。
posted on 2007-10-27 14:18 飛天 閱讀(396) 評論(0) 編輯 收藏 引用 所屬分類: VC