• <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 那誰 閱讀(11293) 評論(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精品伊人久久久大香线蕉| 日韩美女18网站久久精品| 国内精品伊人久久久久网站| 亚洲狠狠婷婷综合久久久久| 国产精品成人久久久久久久 | 久久久SS麻豆欧美国产日韩| 狠狠狠色丁香婷婷综合久久五月| 久久99国产精品久久| 国产精品美女久久久久AV福利| 亚洲成av人片不卡无码久久| 久久久久亚洲AV无码永不| 久久人人爽人人爽人人片AV高清| 欧美喷潮久久久XXXXx| 亚洲人成电影网站久久| 99久久精品无码一区二区毛片 | 久久激情亚洲精品无码?V| 久久精品国产亚洲AV香蕉| 国内精品久久久久久久久电影网 | 精品熟女少妇a∨免费久久| 狠狠综合久久综合88亚洲| 欧美日韩中文字幕久久久不卡| 国内精品久久久久影院薰衣草| 国产精品99久久不卡| 久久99久久99精品免视看动漫| 久久国产热这里只有精品| 久久99精品久久只有精品| 久久狠狠爱亚洲综合影院| 久久嫩草影院免费看夜色| 久久久久亚洲av毛片大| 欧美喷潮久久久XXXXx| AV无码久久久久不卡蜜桃| 青青草国产97免久久费观看| 51久久夜色精品国产| 99久久精品国产高清一区二区| 久久福利片| 精品久久久久久无码中文字幕| 精品国产综合区久久久久久| 美女写真久久影院|