1. 程式人生 > >I/O 多路復用的特點:

I/O 多路復用的特點:

emp 會有 io多路復用 函數 性能 lec 動靜 ali span

  I/O 多路復用是通過一種機制使一個進程能同時等待多個文件描述符(fd),而這些文件描述符(套接字描述符)其中的任意一個進入讀就緒狀態,epoll()函數就可以返回。 所以, IO多路復用,本質上不會有並發的功能,因為任何時候還是只有一個進程或線程進行工作,它之所以能提高效率是因為select\epoll 把進來的socket放到他們的 ‘監視‘ 列表裏面,當任何socket有可讀可寫數據立馬處理,那如果select\epoll 手裏同時檢測著很多socket, 一有動靜馬上返回給進程處理,總比一個一個socket過來,阻塞等待,處理高效率。

  當然也可以多線程/多進程方式,一個連接過來開一個進程/線程處理,這樣消耗的內存和進程切換頁會耗掉更多的系統資源。 所以我們可以結合IO多路復用和多進程/多線程 來高性能並發,IO復用負責提高接受socket的通知效率,收到請求後,交給進程池/線程池來處理邏輯。

I/O 多路復用的特點: