select.select
rs,ws,es=select.select(inputs,[],[])
select函数阻塞程序运行,监控inputs中的套接字,当其中有套接字满足可读的条件(第一个参数为可读,如果是第二个参数则为可写),则把这个套接字返回给rs,然后程序继续运行。
rlist, wlist, elist = select.select(_rlist, _wlist, _elist, [timeout])
参数1:当列表_rlist中的文件描述符fd状态为readable时,fd将被添加到rlist中
参数2:当列表_wlist中存在文件描述符fd时,fd将被添加到wlist
参数3:当列表_xlist中的文件描述符fd发生错误时,fd将被添加到elist
参数4:超时时间timeout
- 当timeout==None时,select将一直阻塞,直到监听的文件描述符fd发生变化时返回
- 当timeout==0时,select不会阻塞,无论文件描述符fd是否有变化,都立刻返回
- 当timeout>0时,若文件描述符fd无变化,select将被阻塞timeout秒再返回
参考:
https://blog.csdn.net/VITO21/article/details/53319306?spm=1001.2014.3001.5502
https://blog.csdn.net/qq_42766994/article/details/119777210?spm=1001.2014.3001.5502