如何在Windows中使用选择器功能

问题描述

我试图在Windows PC上运行以下代码,并且正如预期的那样,for循环失败。我没有编写此代码,我只是在此代码的基础上构建,对线程或(非)阻塞没有太多的了解。我需要实现一种基于stdin触发quitflag的方式,但是由于Windows除了允许套接字传递给选择器之外,不允许我传递任何其他信息,因此我无法使用它。
感谢您的帮助,并愿意在需要时显示更多代码

    selector = selectors.DefaultSelector()
    key_socketpair = selector.register(
    self._socketpair[0],selectors.EVENT_READ
    )
    key_stdin = selector.register(
    sys.stdin,selectors.EVENT_READ
    )
    logging.info("Console wait thread started.")
    quitflag = None
    while not quitflag:
        for (key,events) in selector.select():
            if key == key_socketpair:
                quitflag = True
            elif key == key_stdin:
                quitflag = True

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)