首页 / 知识
理解python中的select模块
2023-11-12 13:45:00
简介
Python中的select模块专注于I/O多路复用,提供了selectpollepoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue方法(freeBSD系统)
select方法
进程指定内核监听哪些文件描述符(最多监听1024个fd)的哪些事件,当没有文件描述符事件发生时,进程被阻塞;当一个或者多个文件描述符事件发生时,进程被唤醒。
当我们调用select()时:
1、上下文切换转换为内核态
2、将fd从用户空间复制到内核空间
3、内核遍历所有fd,查看其对应事件是否发生
4、如果没发生,将进程阻塞,当设备驱动产生中断或者timeout时间后,将进程唤醒,再次进行遍历
5、返回遍历后的fd
6、将fd从内核空间复制到用户空间
fd:filedescriptor文件描述符
fd_r_list,fd_w_list,fd_e_list=select.select(rlist,wlist,xlist,[timeout])
参数:可接受四个参数(前三个必须)
rlist:waituntilreadyforreading
wlist:waituntilreadyforwriting
xlist:waitforan“exceptionalcondition”
timeout:超时时间
返回值:三个列表
select方法用来监视文件描述符(当文件描述符条件不满足时,select会阻塞),当某个文件描述符状态改变后,会返回三个列表
1、当参数1序列中的fd满足“可读”条件时,则获取发生变化的fd并添加到fd_r_list中
2、当参数2序列中含有fd时,则将该序列中所有的fd添加到fd_w_list中
3、当参数3序列中的fd发生错误时,则将该发生错误的fd添加到fd_e_list中
4、当超时时间为空,则select会一直阻塞,直到监听的句柄发生变化
当超时时间=n(正整数)时,那么如果监听的句柄均无任何变化,则select会阻塞n秒,之后返回三个空列表,如果监听的句柄有变化,则直接执行。
以上内容为大家介绍了python中的select模块,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
linux全部进程命令?
linux全部进程命令?,系统,地址,软件,工作,情况,进程,命令,信息,实时,标准,Linux系统常见命令cat(连接的缩写)是Linux中最常用的命令之一。它用于linux存文件的命令?
linux存文件的命令?,系统,工作,名称,标准,信息,管理,数据,命令,文件,传播,linux查看当前的主机名并保存到c.txt文件中?查看主机名查看当前系统linux系统名称命令?
linux系统名称命令?,系统,工作,地址,管理,信息,标准,名称,网络,命令,目录,Linux系统常见命令linux系统常用操作命令如下:ls:全拼list,功能是列出linux系统命令行在?
linux系统命令行在?,系统,地址,工作,管理,信息,工具,最新,密码,首页,标准,怎么把linux系统的命令行打开在Linux系统中,打开命令行窗口需要使用建立文件的linux命令?
建立文件的linux命令?,名字,系统,文件,命令,文件名,时间,名称,首次,密码,目录,linux怎么创建目录和文件1、进入linux系统并终端,输入命令”cd/“linux程序的状态命令?
linux程序的状态命令?,系统,状态,服务,情况,软件,进程,数据,基础,命令,信息,Linux系统中用于查看系统进程状态的命令是什么?1、命令是[ps-aux]。linux命令行查看时间?
linux命令行查看时间?,系统,时间,信息,环境,命令,地址,服务,工作,情况,用户数,linux查看系统运行了多长时间使用什么命令方法一:uptime命令 会下载文件命令linux?
下载文件命令linux?,软件,系统,网络,工具,中心,服务,情况,名称,设备,代理,LINUX系统如何下载东西?1、wget是linux下一个从网络上自动下载文件linux命令行传文件?
linux命令行传文件?,手机,电脑,百度,数据,密码,位置,命令,文件,目录,数据库,Linux命令行上传文件到百度网盘在下边图示位置粘贴授权码,耐心等待linux系统测试命令?
linux系统测试命令?,系统,工作,地址,标准,信息,命令,数据,单位,软件,目录,软件测试中常用的Linux命令有哪些?1、Linux常用命令包括ls、cd、wclinux显示文件名命令?
linux显示文件名命令?,信息,时间,命令,系统,数据,地址,状态,文件,标准,工具,Linux基本命令-2021-07171、head 是用来显示文件开头的命令 选项:linux内核配置命令是?
linux内核配置命令是?,地址,系统,工作,标准,时间,百分比,服务,命令,目录,基础,linux常用命令及用法1、linux常用命令: pwd命令 该命令的英文