當前位置:編程學習大全網 - 編程軟體 - epoll默認工作模式

epoll默認工作模式

epoll默認工作模式是LT。

epoll有EPOLLLT(LT)和EPOLLET(ET)兩種觸發模式。其中,LT是默認的模式。LT(level triggered)是缺省的工作方式,並且同時支持block和no-block socket.在這種做法中,內核告訴妳壹個文件描述符是否就緒了,然後妳可以對這個就緒的fd進行IO操作。

如果妳不作任何操作,內核還是會繼續通知妳的,所以,這種模式編程出錯誤可能性要小壹點。傳統的select/poll都是這種模型的代表。

ET模式介紹

ET是高速工作方式,只支持non-block socket。在這種模式下,當描述符從未就緒變為就緒時,內核通過epoll告訴妳。然後它會假設妳知道文件描述符已經就緒,並且不會再為那個文件描述符發送更多的就緒通知,直到妳做了某些操作導致那個文件描述符不再為就緒狀態了(比如,妳在發送,接收或者接收請求,或者發送接收的數據少於壹定量時導致了壹個EWOULDBLOCK錯誤)。

但是請註意,如果壹直不對這個fd作IO操作(從而導致它再次變成未就緒),內核不會發送更多的通知(only once),不過在TCP協議中,ET模式的加速效用仍需要更多的benchmark確認。

  • 上一篇:Linux 系統下圖形界面用那種語言開發最合適?
  • 下一篇:數控加工中心刀庫怎麽上刀
  • copyright 2024編程學習大全網