多路複用I/O的優缺點

多路複用I/O的優缺點

    多路複用I/O技術由操作系統提供支持,並提供給各種高級語言進行使用。它針對阻塞式同步I/O和非阻塞式同步I/O而言有很多優勢,最直接的效果就是它繞過了I/O在操作系統層面的accept()方法的阻塞問題。
    使用多路複用I/O技術後,應用程序就可以不用再單純使用多線程技術來解決併發I/O處理的性能問題了(針對操作系統內核I/O管理模塊和應用程序而言都是這樣的)。在實際業務的處理中,應用程序進程還是需要引入(由線程池支持的)多線程技術的。
    同一個端口可以處理多種網絡協議。例如:使用ServerSocketChannel類的服務器端口監聽,既可以接收到TCP協議又可以接收到UDP協議內容。也就是說端口的數據接收規則只和Selector註冊的需要關心的事件有關。
    操作系統級別的優化:多路複用I/O技術可以使操作系統級別在一個端口上能夠同時接受多個客戶端的I/O事件,同時具有阻塞式同步I/O和非阻塞式同步I/O的所有特點。Selector的一部分作用更相當於“輪詢代理器”。
都是同步I/O模型:目前阻塞式I/O、非阻塞式I/O,甚至包括多路複用I/O,這些都是基於操作系統級別對“同步I/O”的實現。什麼是“同步I/O”?即:只有上層(包括上層的某種代理機制)系統詢問“我”是否有某個事發生了,否則“我”不會主動告訴上層系統事件發生了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章