gue*_*tli 8 python select epoll python-asyncio
我想在我的Python库中使用select.epoll().
不幸的是epoll并不是随处可见的.
我需要一种方法来回退到select.select().
我试图在pypi找到一些东西,但未能找到匹配的包:https://pypi.python.org/pypi?%3Aaction = search&term = epoll&subsmit = search
我怎么能解决这个"从epoll回退选择是否epoll不可用"?
Python 3.4引入了选择器模块.它提供了DefaultSelector"当前平台上最有效的实现"的别名.
这是一个快速使用示例:
sel = selectors.DefaultSelector()
sel.register(fp1, selectors.EVENT_READ)
sel.register(fp2, selectors.EVENT_READ)
sel.register(fp3, selectors.EVENT_READ)
for key, mask in sel.select():
print(key.fileobj)
Run Code Online (Sandbox Code Playgroud)
您可以在Python文档中找到更完整的示例.
DefaultSelector 将按此顺序尝试:
epool(Linux),kqueue(FreeBSD/NetBSD/OpenBSD/OS X)或/dev/poll(Solaris)poll (UNIX)select