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事件模型

相关文章
相关标签/搜索