• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            把這兩天做Proactor的一些經驗和心得寫一下,可能會給一些人幫助。
                Proactor是異步模式的網絡處理器,ACE中叫做“前攝器”。
                先講幾個概念:
                前攝器(Proactor)-異步的事件多路分離器、處理器,是核心處理類。啟動后由3個線程組成(你不需要關心這三個線程,我只是讓你知道一下有這回事存在)。
                接受器(Acceptor)-用于服務端,監聽在一個端口上,接受用戶的請求。
                連接器(Connector)-用于客戶端,去連接遠程的監聽。當然,如果遠程是ACE寫的,就是Acceptor。
                異步模式-即非阻塞模式。網絡的傳輸速度一般來講為10Mbps、100Mbps、1000Mbps。拿千兆網來說,實際的傳輸速度為1000Mbps/8大概為128KB左右。我們的CPU一般為P4 3.0GHZ,如果是32位的處理器,一秒鐘大概可以處理6G的字節,那么,128KB的網絡速度是遠遠及不上處理器的速度的。網絡發送數據是一位一位發送出去的,如果CPU等在這里,發送完成函數才結束,那么,處理器浪費了大量時間在網絡傳輸上。
                操作系統提供了異步的模式來傳輸網絡數據,工作模式即:應用程序把要發送的數據交給操作系統,操作系統把數據放在系統緩沖區后就告訴應用程序OK了,我幫你發,應用程序該干嘛干嘛去。操作系統發送完成后,會給應用系統一個回執,告訴應用程序:剛才那個包發送完成了!
               舉個例子:你有幾封郵件和包裹要發,最有效率的辦法是什么?你把郵件和包裹及交給總臺,總臺MM說,好了,你幫你發,你忙去吧!然后你去工作了。過了一會,總臺MM打電話告訴你:“剛才我叫快遞公司的人來了,把你的包裹發出去了。郵局的人也來了,取走了郵件,放心好了”。同樣,如果你知道今天會有包裹來,比如你在淘寶上購物了,你能成天等在總臺?你應該告訴總臺MM:“今天可能有我的一個快遞,你幫我收一下,晚上請你肯德基!”。MM:“看在肯得基的面子上,幫你收了”。某個時間,MM打電話來了:“帥哥,你的包裹到了,我幫你簽收了,快來拿吧。”
               因為操作系統是很有效率的,所有,他在后臺收發是很快的。應用程序也很簡單。Proactor就是這種異步模式的。Proactor就是總臺MM;ACE_Service_Handle就是總臺代為收發郵件的公司流程。
               以上轉載于http://www.cnblogs.com/acerrail/archive/2007/11/29/977415.html
               上面轉載寫的非常好,但是在網絡延時很厲害的時候可能會出現點問題。我根據我的見解補充一下也,如果不對請各位指教。

               首先是說發數據:把郵件和包裹交個總臺MM(假設一個郵件,一個包裹),過了一會總臺妹妹打電話啊告訴你"郵件發出去了,但是包裹沒有發出去" (通過RESULT你可以知道發送多少,一共要發送多少).這個時候總臺MM會把包裹退還給你(從RESULT.message_block()中獲得有什么數據沒有發),我們開始重復以上的工作“包裹給總臺MM,總臺MM通知你發送結果”一直到你的郵件和包裹全部發送完為止。
               在就是收數據:告訴總臺MM今天我一個包裹一個郵件,需要接收,你幫我收一下,十分鐘后總臺MM通知你“包裹來了”,你接手到包裹(表示實際上數據還未接收完),你就跟MM說“麻煩你回去繼續等著我還有一個郵件”,總臺MM就回去繼續等知道你的郵件來了他在繼續通知你。
               以上說的是在網絡延遲的情況下出現的情況,如果在局域網中基本不存在以上的情況。
             

               不過在實際應用中 前置器在windows上的效果比較好,而在linux上主要還是使用反應器
            posted on 2011-03-14 21:24 arrow8209 閱讀(371) 評論(0)  編輯 收藏 引用

            統計

            久久久国产精华液| 精产国品久久一二三产区区别 | 亚洲综合熟女久久久30p| 国产999精品久久久久久| 久久天天躁狠狠躁夜夜96流白浆| 国产呻吟久久久久久久92| 人妻精品久久无码区| 久久丫忘忧草产品| 久久婷婷五月综合色高清 | 国产精品一区二区久久国产| 99久久精品国产一区二区| 久久久久久毛片免费看| 久久久精品久久久久特色影视| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久久久九国产精品| 国内精品久久久久久久coent| 国产成人精品久久亚洲高清不卡| 久久亚洲精品视频| 久久国产高清一区二区三区| 精品一久久香蕉国产线看播放| 精品无码人妻久久久久久| 伊人久久国产免费观看视频| 中文字幕人妻色偷偷久久| 国产偷久久久精品专区| 国产亚洲欧美精品久久久| 国内精品久久久久| 伊人色综合久久天天人手人婷| 日韩精品久久久久久久电影蜜臀| 久久精品国产亚洲AV麻豆网站| 伊人色综合久久天天| 狠狠色噜噜色狠狠狠综合久久| 777午夜精品久久av蜜臀| 久久r热这里有精品视频| 久久久久国产一区二区三区| 久久夜色精品国产噜噜麻豆| 伊人色综合久久天天| 欧美激情一区二区久久久| 精品国产VA久久久久久久冰 | 久久久精品久久久久久| 久久久久国产精品熟女影院| 久久国产精品偷99|