多線程、事件event
就是自己隨便做的筆記,可能對不起觀眾了。只是記錄了用的函數。具體使用方法還是看下msdn mfc 創建線程 afxbeginthread 創建事件 createevent 等待函數WaitForSingleObject 自動事件有信號 經過等待函數變成無信號。 線程退出,寫在timer中 隔一段時間一檢測。可以用多等待 WaitForMultipleObjects返回WAIT_OBJECT_0時則為所有事件都為有信號狀態。 線程同步 臨界區法 定義臨界區CRITICAL_SECTION m_critical; InitializeCriticalSection(&m_critical) 初始化臨界區 EnterCriticalSection(&(p->m_critical));進入 LeaveCriticalSection(&(p->m_critical));離開 DeleteCriticalSection(&m_critical)釋放 事件法 定義自動變換事件m_hEvent WaitForSingleObject(m_hEvent,INFINITE); //被保護的代碼 SetEvent(p->m_hEvent); 互斥對象法 穿件互斥對象 createmutex 等待函數WaitForSingleObject //被保護的代碼 釋放互斥對象使用權ReleaseMutex 信號量 semaphore內核對象
利用事件判斷應用程序不能運用兩個 |