02-uselect.md 1.3 KB

uselect – 等待流事件

!!! abstract "简介"

`uselect` 模块提供了在流上等待事件的功能(选择可操作的流),轮询是在多个对象上等待读/写活动的有效方法。

函数

select.poll()

创建轮询类的实例。

select.select(rlist, wlist, xlist[, timeout])

等待激活一组对象。提供的兼容性和效率不高,推荐使用 Poll

eventmask

select.POLLIN - 读取可用数据

select.POLLOUT - 写入更多数据

select.POLLERR - 发生错误

select.POLLHUP - 流结束/连接终止检测

eventmask 默认 select.POLLIN | select.POLLOUT.

类 Poll

poll.register(obj[, eventmask])

注册轮询对象 。

poll.unregister(obj)

注销轮询对象。

poll.modify(obj, eventmask)

修改对象的 eventmask。

poll.poll([timeout])

等待至少一个已注册的对象准备就绪。返回列表(obj, event, ...) 元组, event 元素指定了一个流发生的事件,是上面所描述的 select.POLL*常量组合。 在元组中可能有其他元素,取决于平台和版本,所以不要假定它的大小是2。如果超时,则返回空列表。超时为毫秒。

更多内容可参考 uselect