<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      reactor設計模式(轉)

      轉自 http://blog.csdn.net/swordmanwk/article/details/6170995

        reactor設計模式,是一種基于事件驅動的設計模式。

        《Pattern-Oriented Software Architecture, Volume 2》對這個模式做了詳細的講解。這個模式的結構圖如下:

      reactor模式類結構圖

        圖中的handle對應的是操作系統提供的句柄,如I/O句柄,Event_Handler類持有這些句柄。reactor類內部提供一個事件循環:handle_events()。事件循環的代碼實現利用了操作系統提供的多路分離函數,WaitForMultipleObjects或者select等。這些多路分離的函數的特點是,可以同時等待多個句柄,在等待過程中所在線程處于掛起狀態,不消耗CPU時間。一旦某個句柄被觸發,線程則被喚醒,函數將返回,線程可以執行后面的代碼。利用多路分離函數的這一特點,根據被激活的句柄對應的特定事件,調用相關的事件處理函數,可以實現事件循環。

        register_handler()函數用于將Event_Handler對象注冊到事件驅動列表中,保證對于某一類型的事件,會調用Event_Handler類的響應函數handle_event()。reactor類在做多路分離時需要操縱Event_Handler類的Handle,因此Event_Handler類需要提供get_handle()函數。另外,當程序不需要再對特定事件響應時,需要把Event_Handler對象從事件驅動列表中刪除,因此reactor類還實現了remove_handler函數。

        因為reactor相對穩定,一旦實現,不需要再定制,所以沒有提供一個抽象接口類,但Event_Handler是經常需要根據不同的需求定制的,因此需要提供一個抽象接口類,然后根據實際需求編寫派生類,提供具體句柄,并實現相關虛函數。

        這個模式的優點是本身不涉及多線程,從而避免了線程的上下文切換。對于響應事件處理時間較短的情況下,可以考慮使用這個模式。如果處理一個事件需要花費大量時間,就不能使用這個模式,那樣會導致其他事件處理被阻塞。

        ACE_Reactor框架是這一模式的半成品,用戶只要做三件事情就可以實現并使用這一模式:

        1.從ACE_Event_Handler派生一個或多個類

        2.向ACE_Reactor類登記應用的事件處理對象

        3.運行ACE_Reactor事件循環。

       

        示例代碼可以參考ACE_wrappers/examples/APG/Reactor目錄下的示例代碼。

      參考文獻:

        《Pattern-Oriented Software Architecture, Volume 2》

        《ACE程序員指南》

      posted @ 2014-09-29 14:54  log_a  閱讀(528)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美成人精精品一区二区三区 | 外汇| 自拍偷拍一区二区三区四| 基隆市| 人妻系列无码专区69影院| 亚洲精品中文av在线| 国产精品福利自产拍久久 | 久章草在线毛片视频播放| 亚洲精品自产拍在线观看动漫| 97欧美精品系列一区二区| 无线日本视频精品| 亚洲一区二区无码影院| 国产亚洲AV电影院之毛片| 日韩有码av中文字幕| 最近中文国语字幕在线播放| 中文字幕人妻色偷偷久久| 91中文字幕一区二区| 人妻激情偷一区二区三区| 在线观看潮喷失禁大喷水无码| 成年女人免费碰碰视频| 亚洲天堂av免费在线看| 亚洲国产成人久久精品不卡| 亚洲 校园 欧美 国产 另类| 男女爽爽无遮挡午夜视频| 人妻出轨av中文字幕| 在线免费不卡视频| h动态图男女啪啪27报gif| 欧洲精品码一区二区三区| 亚洲人成网站18禁止无码| 四川丰满少妇无套内谢| 国产精品自偷一区在线观看| 亚洲av片在线免费观看| 久久精品国产亚洲αv忘忧草| 亚洲顶级裸体av片| 午夜激情福利一区二区| 亚洲一区成人av在线| 精品午夜福利短视频一区| 亚洲国产超清无码专区| 欧美牲交a欧美牲交aⅴ免费真| 国偷自产一区二区三区在线视频 | 阳东县|