转自:微点阅读 https://www.weidianyuedu.com
一、I/O多路复用概念:
监听多个描述符的状态,如果描述符状态改变,则会被内核修改标志位,从而被进程获取进而进行读写操作
二、select,poll,epoll
select模块,提供了:select、poll、epoll三个方法,分别调用系统的 select,poll,epoll 从而实现IO多路复用。
Windows Python:提供: select
Mac Python:提供: select
Linux Python:提供: select、poll、epoll
select
在python中,select函数是一个对底层操作系统的直接访问的接口,它用来监控sockets、files和pipes,等待IO完成。当有可读、可写或是异常事件产生时,select可以很容易的监控到。
select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,这也是它所剩不多的优点之一。
select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024,不过可以通过修改宏提升这一限制。
格式:rList,wList,eList = select.select(argv1,argv2,argv3,timeout)
参数:
argv1:监听序列中的句柄发生变化时,则获取发生变化的句柄添加到rList序列中
argv