• <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>

            那誰的技術博客

            感興趣領域:高性能服務器編程,存儲,算法,Linux內核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數據加載中……

            epoll相關資料整理

            學習epoll有一段時間了,最近終于有一個服務器采用了epoll模型,從中積累了一些epoll的資料.個人感覺目前可以找到的epoll相關的資料太少了,因為epoll僅被linux 2.6以上版本內核所支持,它的應用時間還比較短暫, 而一些講解網絡編程的相關權威書籍(如已逝的stevens的UNP)都沒有講解這個不能跨unix平臺的專有技術,而epoll帶來的巨大效率提高又使得這項技術很有吸引力, 于是我決定將個人遇到的epoll相關問題整理一下, 隨著對epoll的理解深入, 這份資料將不斷的完善下去.

            需要說明的是, 這份教材不適合網絡編程的初學者, 這里假設讀者具備一定的網絡編程基礎, 使用過多路復用IO如select等.

            1) 能不能給一個使用epoll相關API進行IO監控的示例?
            在<<epoll學習筆記>>中有一個簡單的示例說明epoll相關API的使用, 但是這個示例是非常簡單的, 它僅僅關注于如何使用epoll相關函數上面, 如果要更好的使用epoll, 還需要自己動手以及閱讀資料.

            2) epoll和select都屬于多路復用IO嗎?與阻塞IO相比多路復用IO有什么優點?
            在<<epoll為什么這么快>>, 重點是解釋epoll對比select在效率上提高的原因, 但是同時也解釋了多路復用IO的工作原理.

            3) epoll的ET模式和LT模型有什么區別?
            <<epll學習筆記>>通過一個實例說明了兩者之間的差異, 但是我想, 如果結合著man文檔(man epoll)來看效果會更好些.

            4) 我的服務器是采用多進程模型的, 我的父進程首先創建了epoll所使用的fd, 然后再創建子進程, 為什么使用的時候沒過多久epoll_wait函數就一直返回0, 這樣IO事件就不會得到通知了?
            太巧了, 筆者也遇到過類似的問題, 花了好幾天的時間進行調試, 很幸運的是, 你不必像我這樣耗費時間在這個問題上面了, 因為在<<多進程服務器中,epoll的創建應該在創建子進程之后>>中已經有了解答.

            5)epoll的效率比起select來有很大的提高, 這里面有什么秘密嗎?
            其實原理很簡單, 就是計算機世界中"空間換時間"思想的體現, 在<<epoll為什么這么快>>中有詳細的解釋.



            posted on 2008-10-13 22:11 那誰 閱讀(11285) 評論(4)  編輯 收藏 引用 所屬分類: 網絡編程服務器設計Linux/Unix

            評論

            # re: epoll相關資料整理  回復  更多評論   

            記號 學習epoll時好好看看
            2008-10-16 17:50 | 浪跡天涯

            # re: epoll相關資料整理  回復  更多評論   



            windows中的完成端口也不錯。Boost中的ASIO庫也不錯,前段時間我就專門去看Boost的ASIO的文檔了。推薦博主看一下。
            2008-10-16 20:43 | 海邊沫沫

            # re: epoll相關資料整理[未登錄]  回復  更多評論   

            "而一些講解網絡編程的相關權威書籍(如已逝的stevens的UNP)都沒有講解這個不能跨unix平臺的專有技術",epoll是模仿UNIX下的/dev/poll來移植到Linux實現的,epoll也是個模仿的,只不過在Linux下打敗了/dev/epoll。
            2010-01-23 08:48 | li

            # re: epoll相關資料整理  回復  更多評論   

            這幾篇epoll的博客,如此糟糕,你還好意思提及stevens?
            2012-08-12 18:07 | 顯然是錯的
            久久精品无码专区免费东京热| 久久久WWW成人| 久久人人爽人人爽人人片AV麻烦 | 热久久视久久精品18| 久久性精品| 日韩AV无码久久一区二区| 青青草国产成人久久91网| 亚洲人成电影网站久久| 精品九九久久国内精品| 综合久久一区二区三区| 国产精品久久成人影院| 伊人久久大香线蕉综合网站 | 亚洲精品无码成人片久久| 久久婷婷午色综合夜啪| 国产精品久久久久久| 色99久久久久高潮综合影院| 亚洲狠狠婷婷综合久久蜜芽 | 麻豆精品久久久一区二区| 武侠古典久久婷婷狼人伊人| 97久久精品人妻人人搡人人玩| 久久久精品国产亚洲成人满18免费网站 | 久久天天躁夜夜躁狠狠| 99热都是精品久久久久久| 久久精品国产99久久久古代| 久久久久久a亚洲欧洲aⅴ| 亚洲乱码中文字幕久久孕妇黑人| 欧美性猛交xxxx免费看久久久| 久久久久久精品久久久久| 国产成人精品久久二区二区| 无码国内精品久久人妻| 久久久久久国产精品美女| 一级女性全黄久久生活片免费| 婷婷久久综合九色综合绿巨人| 国产精品久久久久无码av| 久久久久亚洲AV无码专区首JN| 人人狠狠综合久久亚洲| 久久国产免费| 欧美久久一区二区三区| 久久婷婷色综合一区二区| 久久综合九色综合网站 | 狠狠色综合网站久久久久久久|