事件CEvent的使用

2021-06-18 23:40:59 字數 477 閱讀 1068

cevent類的乙個物件,表示乙個「事件」——乙個允許乙個事件發生時執行緒通知另乙個執行緒的同步物件。在乙個執行緒需要了解何時執行任務時,事件是十分有用的。例如,拷貝資料到資料文件時,執行緒應被通知何時資料是可用的。當新資料可用時,通過運用cevent物件來通知拷貝執行緒,執行緒才可能盡快地執行。例如在某些網路應用程式中,乙個執行緒(記為a)負責監聽通訊埠,另乙個執行緒(記為b)負責更新使用者資料。通過使用cevent類,執行緒a可以通知執行緒b何時更新使用者資料,這樣執行緒b可以盡快地更新使用者資料。

cevent物件有兩種型別:自動和手工。乙個手工cevent物件存在於由resetevent或setevent設定的狀態中,直到另乙個函式被呼叫。乙個自動cevent物件在至少乙個執行緒被釋放後自動返回乙個無標記(無用的)狀態。

要使用乙個cevent物件,應在需要時構造乙個cevent物件。指定要等待的事件,應用應擁有它,就可以在建構函式返回時訪問事件。呼叫setevent標記(使可用)事件物件,然後當訪問完控制資源時,呼叫

CEvent事件跟執行緒的使用

建立乙個基於對話方塊的mfc工程,窗體上房乙個按鈕,建立乙個cbutton物件,在標頭檔案中加入cevent事件的標頭檔案 include 和執行緒標頭檔案 include 在對話方塊工程頭 h 檔案中宣告乙個執行緒處理函式 類外宣告 uint winapi threandone lpvoid pp...

C Event事件的訂閱和發布

學習筆記 學習了委託和事件的用法。事件是一種特殊的委託,記錄下事件從訂閱到發布的流程。新建乙個demo專案,新建以下三個類 server.cs using system namespace eventdemo client.cs using system namespace eventdemo pr...

C Event事件的訂閱和發布

學習筆記 學習了委託和事件的用法。事件是一種特殊的委託,記錄下事件從訂閱到發布的流程。新建乙個demo專案,新建以下三個類 server.cs using system namespace eventdemo client.cs using system namespace eventdemo pr...