Posted on 2007-08-03 12:42
寶杉 閱讀(1586)
評論(0) 編輯 收藏 引用 所屬分類:
ACE/CORBA
1 介紹
此文描述了組成ACE框架的Reactor模式的設(shè)計和執(zhí)行。Reactor負(fù)責(zé)處理由一個或多個client并發(fā)的傳遞給一個應(yīng)用程序的服務(wù)請求。應(yīng)用程序的每個服務(wù)由一個分離的event handler(事件句柄)執(zhí)行,event handler包括一個或多個進(jìn)程的服務(wù)器特殊請求的方法。
此文描述的Reactor模式的執(zhí)行,event handler分發(fā)是由ACE_Reactor實現(xiàn)的。ACE_Reactor結(jié)合I/O事件的分離器,以及其他類型的時間,比如timers和signals。ACE_Reactor的核心實現(xiàn)是基于同步事件分離,比如select或者WaitForMultipleObjects。當(dāng)分離器指示指定的事件發(fā)生了,ACE_Reactor會自動分發(fā)預(yù)先注冊的事件句柄的方法。注冊的event handler方法會完成應(yīng)用程序?qū)?yīng)請求事件的服務(wù)。
本文組織如下:第二章描述ACE_Reactor框架主要特性;第三章大致介紹ACE_Reactor實現(xiàn)的OO(面向?qū)ο螅┰O(shè)計;第四章舉了服務(wù)器端實現(xiàn)的例子,用以證明ACE_Reactor怎樣簡化并發(fā)的,基于事件的網(wǎng)絡(luò)應(yīng)用程序的發(fā)展;第五章描述當(dāng)使用ACE_Reactor開發(fā)基于事件的應(yīng)用程序的設(shè)計規(guī)則;第六章是結(jié)束語。
2 ACE_Reactor的特性
ACE_Reactor提供OO的事件分離機(jī)制和消息分發(fā)框架,它簡化基于事件的應(yīng)用程序的開發(fā)。以下特性是:
OO的事件分離和消息分發(fā)接口:
使用ACE_Reactor的應(yīng)用程序不直接調(diào)用底層OS(操作系統(tǒng))的事件分離API函數(shù)。比如select或WaitForMultipleObjects。他們繼承ACE Event Handler基類并創(chuàng)建了具體的event handlers。這個類用特定的虛擬函數(shù)處理不同類型的事件,比如I/O事件,timer事件,signals(信號量機(jī)制),和同步事件。
應(yīng)用程序用Reactor框架創(chuàng)建具體的event handler,并注冊他們。特性1顯示了ACE Reactor.的關(guān)鍵組件。這個特性描述執(zhí)行日子服務(wù)的事件句柄,這個在第四章講述。
