I/O多路複用——概述與應用場景

1、概述python

    多路複用屬於同步I/O模型,主旨是同時監聽多個FD,一旦有事件發生,發送至相應的處理器處理以提升性能。nginx

%u5728%u8FD9%u91CC%u8F93%u5165%u56FE%u7247%u6807%u9898

舉個例子,一個聊天程序,阻塞型的一個服務器只能跟一個客戶端通訊,要跟另外一個通訊就須要斷開這個;web

多路複用讓服務器能夠監聽多個socket描述符,當一個客戶端沒有數據傳來時,服務器能夠轉而服務其餘有數據的客戶端。redis

2、經常使用應用場景apache

        客戶端要處理多個socket服務器

        客戶端同時處理鏈接和用戶輸入,好比聊天室網絡

        TCP服務器要同時處理監聽socket和鏈接socket框架

        服務器同時處理TCP和UDPsocket

        服務器要監聽多個端口tornado

3、舉例

        I/O框架libevent

        基於libevent和協程的python網絡框架gevent

        python的高性能web框架tornado

        redis文件事件處理器

        nginx,apache事件模型

相關文章
相關標籤/搜索