shi*_*ino 6 python twisted nonblocking
而不是运行reactor.run(),我想在维护自己的主循环时偶尔调用别的东西(我不喜欢,像reactor.runOnce()或其他东西).扭曲的是最好的做法吗?
Gly*_*yph 11
是.最好的做法是,这是一个坏主意,而你真的不需要这样做.它不适用于所有反应堆,你当然不能有两个不同的库想要这样做.
为什么需要维护自己的主循环?机会是,它类似于"我想使用PyGame"或"我正在编写GUI程序,我想使用GTK的主循环"或"我在Blender中使用Twisted并且它有自己的事件处理".如果是这种情况,您应该询问具体问题,因为每个问题都有自己的答案.
如果你绝对需要这样做(并且,再次:你没有),那么这样做的方法就是reactor.iterate()定期打电话.这将是缓慢的,中断信号处理,并具有相关的不稳定的语义reactor.stop().它会在你的程序中引入许多错误,否则就会出现错误,当你需要帮助诊断它们时,如果你问Twisted开发团队的人,他们会告诉你的第一件事就是"停止这样做,你不要不需要这样做.