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

            那誰(shuí)的技術(shù)博客

            感興趣領(lǐng)域:高性能服務(wù)器編程,存儲(chǔ),算法,Linux內(nèi)核
            隨筆 - 210, 文章 - 0, 評(píng)論 - 1183, 引用 - 0
            數(shù)據(jù)加載中……

            epoll相關(guān)資料整理

            學(xué)習(xí)epoll有一段時(shí)間了,最近終于有一個(gè)服務(wù)器采用了epoll模型,從中積累了一些epoll的資料.個(gè)人感覺(jué)目前可以找到的epoll相關(guān)的資料太少了,因?yàn)閑poll僅被linux 2.6以上版本內(nèi)核所支持,它的應(yīng)用時(shí)間還比較短暫, 而一些講解網(wǎng)絡(luò)編程的相關(guān)權(quán)威書(shū)籍(如已逝的stevens的UNP)都沒(méi)有講解這個(gè)不能跨unix平臺(tái)的專(zhuān)有技術(shù),而epoll帶來(lái)的巨大效率提高又使得這項(xiàng)技術(shù)很有吸引力, 于是我決定將個(gè)人遇到的epoll相關(guān)問(wèn)題整理一下, 隨著對(duì)epoll的理解深入, 這份資料將不斷的完善下去.

            需要說(shuō)明的是, 這份教材不適合網(wǎng)絡(luò)編程的初學(xué)者, 這里假設(shè)讀者具備一定的網(wǎng)絡(luò)編程基礎(chǔ), 使用過(guò)多路復(fù)用IO如select等.

            1) 能不能給一個(gè)使用epoll相關(guān)API進(jìn)行IO監(jiān)控的示例?
            在<<epoll學(xué)習(xí)筆記>>中有一個(gè)簡(jiǎn)單的示例說(shuō)明epoll相關(guān)API的使用, 但是這個(gè)示例是非常簡(jiǎn)單的, 它僅僅關(guān)注于如何使用epoll相關(guān)函數(shù)上面, 如果要更好的使用epoll, 還需要自己動(dòng)手以及閱讀資料.

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

            3) epoll的ET模式和LT模型有什么區(qū)別?
            <<epll學(xué)習(xí)筆記>>通過(guò)一個(gè)實(shí)例說(shuō)明了兩者之間的差異, 但是我想, 如果結(jié)合著man文檔(man epoll)來(lái)看效果會(huì)更好些.

            4) 我的服務(wù)器是采用多進(jìn)程模型的, 我的父進(jìn)程首先創(chuàng)建了epoll所使用的fd, 然后再創(chuàng)建子進(jìn)程, 為什么使用的時(shí)候沒(méi)過(guò)多久epoll_wait函數(shù)就一直返回0, 這樣IO事件就不會(huì)得到通知了?
            太巧了, 筆者也遇到過(guò)類(lèi)似的問(wèn)題, 花了好幾天的時(shí)間進(jìn)行調(diào)試, 很幸運(yùn)的是, 你不必像我這樣耗費(fèi)時(shí)間在這個(gè)問(wèn)題上面了, 因?yàn)樵?lt;<多進(jìn)程服務(wù)器中,epoll的創(chuàng)建應(yīng)該在創(chuàng)建子進(jìn)程之后>>中已經(jīng)有了解答.

            5)epoll的效率比起select來(lái)有很大的提高, 這里面有什么秘密嗎?
            其實(shí)原理很簡(jiǎn)單, 就是計(jì)算機(jī)世界中"空間換時(shí)間"思想的體現(xiàn), 在<<epoll為什么這么快>>中有詳細(xì)的解釋.



            posted on 2008-10-13 22:11 那誰(shuí) 閱讀(11284) 評(píng)論(4)  編輯 收藏 引用 所屬分類(lèi): 網(wǎng)絡(luò)編程服務(wù)器設(shè)計(jì)Linux/Unix

            評(píng)論

            # re: epoll相關(guān)資料整理  回復(fù)  更多評(píng)論   

            記號(hào) 學(xué)習(xí)epoll時(shí)好好看看
            2008-10-16 17:50 | 浪跡天涯

            # re: epoll相關(guān)資料整理  回復(fù)  更多評(píng)論   



            windows中的完成端口也不錯(cuò)。Boost中的ASIO庫(kù)也不錯(cuò),前段時(shí)間我就專(zhuān)門(mén)去看Boost的ASIO的文檔了。推薦博主看一下。
            2008-10-16 20:43 | 海邊沫沫

            # re: epoll相關(guān)資料整理[未登錄](méi)  回復(fù)  更多評(píng)論   

            "而一些講解網(wǎng)絡(luò)編程的相關(guān)權(quán)威書(shū)籍(如已逝的stevens的UNP)都沒(méi)有講解這個(gè)不能跨unix平臺(tái)的專(zhuān)有技術(shù)",epoll是模仿UNIX下的/dev/poll來(lái)移植到Linux實(shí)現(xiàn)的,epoll也是個(gè)模仿的,只不過(guò)在Linux下打敗了/dev/epoll。
            2010-01-23 08:48 | li

            # re: epoll相關(guān)資料整理  回復(fù)  更多評(píng)論   

            這幾篇epoll的博客,如此糟糕,你還好意思提及stevens?
            2012-08-12 18:07 | 顯然是錯(cuò)的
            久久久久九九精品影院| 久久99精品久久久大学生| 91亚洲国产成人久久精品网址| 久久电影网一区| 一级a性色生活片久久无| 99精品久久精品一区二区| 久久久久综合网久久| 亚洲国产视频久久| 99精品久久精品一区二区| 亚洲国产日韩欧美综合久久| 精品熟女少妇av免费久久| 亚洲欧美日韩久久精品| 久久成人精品视频| 亚洲∧v久久久无码精品| 久久久网中文字幕| 久久青青草原国产精品免费| 亚洲午夜久久久久久久久电影网| 中文字幕亚洲综合久久2| 久久久无码一区二区三区| 亚洲va久久久久| 性高湖久久久久久久久AAAAA| 99久久久精品| 99久久99久久| 欧美精品久久久久久久自慰| 久久久久久久综合狠狠综合| 久久久久免费视频| 99久久精品免费看国产一区二区三区| 一本一本久久A久久综合精品 | 久久久久国产一级毛片高清板| 人妻精品久久久久中文字幕69| 超级97碰碰碰碰久久久久最新| 久久精品人妻一区二区三区| 久久九九青青国产精品| 99久久精品国内| 成人免费网站久久久| 91精品国产高清久久久久久io| 久久精品国产亚洲AV无码偷窥| 久久亚洲精品成人av无码网站| 久久综合给久久狠狠97色| 久久久久亚洲AV成人片| 少妇久久久久久久久久|