加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1.epoll和select的區(qū)別
    • 2.poll和epoll的區(qū)別
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

epoll和select的區(qū)別 poll和epoll的區(qū)別

2023/06/20
1172
閱讀需 3 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

Linux中,epoll、select、poll是常用的事件驅(qū)動(dòng)IO模型。它們可以較好地提升I/O效率,但各自有其特點(diǎn)和適用場(chǎng)景。本文將介紹epoll和select的區(qū)別以及poll和epoll的區(qū)別。

1.epoll和select的區(qū)別

1.1 監(jiān)聽(tīng)文件描述符數(shù)量

select使用一個(gè)fd_set數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)監(jiān)聽(tīng)的文件描述符,其中大小被限制在FD_SETSIZE內(nèi)。而epoll允許監(jiān)視大量文件描述符,這使得在高并發(fā)情況下更加高效。

1.2 I/O效率

在I/O操作頻繁的情況下,select每次都需要遍歷所有的文件描述符來(lái)尋找活躍的連接,而epoll使用了回調(diào)機(jī)制,只有活躍的連接才會(huì)觸發(fā)回調(diào),因此效率更高。

2.poll和epoll的區(qū)別

2.1 監(jiān)聽(tīng)文件描述符的方式

在輪詢文件描述符的時(shí)候,poll和select都需要將所有被監(jiān)聽(tīng)的文件描述符拷貝到內(nèi)核空間。而epoll在添加文件描述符的時(shí)候,已經(jīng)將這些文件描述符的指針復(fù)制到內(nèi)核空間中,不需要重復(fù)拷貝。

2.2 I/O效率

在I/O操作頻繁的情況下,輪詢的開(kāi)銷也會(huì)增加。在這種情況下,poll和select的效率不如epoll高。因?yàn)閑poll使用了回調(diào)機(jī)制,在活躍的連接才會(huì)觸發(fā)回調(diào),所以效率更高。

epoll、select、poll都是常用的事件驅(qū)動(dòng)IO模型。每種模型都有其特點(diǎn)和適用場(chǎng)景。本文主要介紹了epoll和select的區(qū)別以及poll和epoll的區(qū)別。希望可以幫助讀者更好地理解這些事件驅(qū)動(dòng)IO模型。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
110-87-628-41-001101 1 PRECI-DIP SSA IC Socket, DIP28, 28 Contact(s), 0.6inch Row Spacing, Solder, ROHS COMPLIANT

ECAD模型

下載ECAD模型
$0.88 查看
ACH4518-102-TD01 1 TDK Corporation Ferrite Chip, 1 Function(s), 50V, 2A,
$1.28 查看
ASH7KW-32.768KHZ-L-T3 1 Abracon Corporation CMOS Output Clock Oscillator, 0.032768MHz Nom, SMD, 4 PIN
暫無(wú)數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜