• <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 那誰 閱讀(11283) 評論(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 | 顯然是錯的
            久久99国产精品99久久| 久久国产高潮流白浆免费观看| 国产婷婷成人久久Av免费高清| 人妻精品久久无码区| 青青青青久久精品国产 | 久久久久亚洲?V成人无码| 一本色综合久久| 成人妇女免费播放久久久 | 中文字幕人妻色偷偷久久| 青青青伊人色综合久久| 久久经典免费视频| 久久精品国产精品亚洲下载 | 久久久久综合中文字幕| 99精品国产在热久久无毒不卡 | 国产精品久久久久久久久| 韩国三级中文字幕hd久久精品 | 久久人人爽人人爽人人片AV高清 | 伊人久久综合精品无码AV专区| 免费一级欧美大片久久网| 久久亚洲2019中文字幕| 久久久久亚洲AV无码去区首| 久久免费视频6| 亚洲国产另类久久久精品黑人 | 久久人妻少妇嫩草AV无码蜜桃| 精品人妻伦九区久久AAA片69| 久久精品国产免费一区| 国内精品久久久久久久影视麻豆| 国产999精品久久久久久| 国产无套内射久久久国产| 国内精品久久国产| 伊人丁香狠狠色综合久久| 麻豆av久久av盛宴av| 欧美精品一区二区精品久久| 亚洲欧美日韩久久精品| 久久99精品国产99久久6男男| 日本高清无卡码一区二区久久 | 久久亚洲av无码精品浪潮| 亚洲国产成人久久综合野外| 99精品久久久久久久婷婷| 一本色道久久HEZYO无码| 亚洲精品久久久www|