新聞中心
所有Unix系統(tǒng),包括linux,都有一種叫做poll機(jī)制的設(shè)計,這是一個不錯的I/O多路復(fù)用機(jī)制,它可以讓程序員來構(gòu)建高效的異步I/O應(yīng)用程序。

Poll機(jī)制的主要思想是不斷地輪詢系統(tǒng)內(nèi)核,查看某些特定的設(shè)備是否完成了數(shù)據(jù)操作和輸出。如果檢測到這個設(shè)備已經(jīng)完成數(shù)據(jù)處理并輸出,就會觸發(fā)一個用戶空間的進(jìn)程來完成其它相關(guān)任務(wù),然后將結(jié)果反饋給客戶端,以完成整個程序流程。
Poll機(jī)制一般使用epoll來實現(xiàn),它主要在Linux內(nèi)核2.5.x以后新增,它也是Linus用來完成可伸縮的高效I/O多路復(fù)用的一種方式。
相比較傳統(tǒng)的select和poll技術(shù),epoll的限制少,所以更受歡迎。epoll提供兩種模式,可以提供較傳統(tǒng)技術(shù)更高的性能,所以在現(xiàn)代Linux系統(tǒng)中被廣泛的使用。
epoll的應(yīng)用領(lǐng)域也比較廣泛,比如服務(wù)器編程,多媒體服務(wù)器編程,網(wǎng)絡(luò)編程,網(wǎng)絡(luò)游戲開發(fā)等等,都可以使用epoll來實現(xiàn),并以高效安全的方式提供服務(wù)。
雖然Poll機(jī)制在Linux系統(tǒng)中變得越來越流行,但是它也存在一定的缺點,比如說由于這種不斷輪詢的機(jī)制,它可以利用盡可能多的CPU資源,導(dǎo)致服務(wù)器性能下降,也會增加系統(tǒng)的延遲。但是,有時候,epoll也是應(yīng)用可選的好方法,它可以提高異步編程的性能,并為開發(fā)人員提供更好的把控能力。
總而言之,Linux中的Poll機(jī)制是一種很好的I/O多路復(fù)用機(jī)制,它可以為開發(fā)者帶來方便,可以彌補(bǔ)select,poll,以及系統(tǒng)其他技術(shù)的不足,而且Linux系統(tǒng)對這種技術(shù)有著非常大的針對性和高效性。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專注四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。
文章標(biāo)題:Linux中的Poll機(jī)制及其應(yīng)用(linux的poll機(jī)制)
轉(zhuǎn)載來源:http://m.fisionsoft.com.cn/article/djghocc.html


咨詢
建站咨詢
