没有直接的类比。 futures_executor是一个非常基本的执行器,它不处理I/O。因此,future只能从其他future(或代码中的其他地方)引起的事件中被“唤醒”。在这种环境中,run_until_stalled是有意义的-如果所有future都是非活动的,它们不能互相唤醒,并且它们永远不会前进。 然而,时雄处理I/O和其他外部事件-如果底层套接字接收到更多数据或触发了OS信号,则不活动的未来将变为活动。所有变为不活动的任务并不是停滞状态,因为更多数据可能随时进入并激活其中一个任务。在这种环境中,run_until_stalled没有多大意义。 对于游戏循环的上下文,可以考虑在主线程上运行事件循环,在自己的线程中运行时雄运行时,并使用channels or other synchronization mechanisms来回传递数据。
1条答案
按热度按时间ovfsdjhp1#
没有直接的类比。
futures_executor
是一个非常基本的执行器,它不处理I/O。因此,future只能从其他future(或代码中的其他地方)引起的事件中被“唤醒”。在这种环境中,run_until_stalled
是有意义的-如果所有future都是非活动的,它们不能互相唤醒,并且它们永远不会前进。然而,时雄处理I/O和其他外部事件-如果底层套接字接收到更多数据或触发了OS信号,则不活动的未来将变为活动。所有变为不活动的任务并不是停滞状态,因为更多数据可能随时进入并激活其中一个任务。在这种环境中,
run_until_stalled
没有多大意义。对于游戏循环的上下文,可以考虑在主线程上运行事件循环,在自己的线程中运行时雄运行时,并使用channels or other synchronization mechanisms来回传递数据。