我有一个瘙痒问题,我知道可以使用许多不同的方法来解决,但我仍然想知道以下方法在 Python 中是否可行。
假设我有一些套接字我一直在等待输入,并且有一些情况最终会终止整个程序。正如我想象的那样,我想使用 select.select 以阻塞方式进行操作:
readfds, writefds, errfds = select.select([mysocket],[],[])
if readfds:
conn, addr = mysocket.accept()
...
现在,如果有一些文件描述符 fd,我可以手动设置为就绪状态,无论是读取还是写入,我都可以
readfds, writefds, errfds = select.select([mysocket,fd],[],[])
for r in readfds:
if r == mysocket:
conn, addr = mysocket.accept()
...
else:
<terminate>
当然,我可以简单地向 mysocket 发送一条消息,使其解除阻塞,但我仍然想知道是否有一种编程方式可以将文件描述符操作到就绪状态。
编辑:我的问题是:我可以以某种方式手动将文件描述符设置为“就绪”吗?
谢谢大家。