停止管道程序交换过时的信息



我有两个管道程序:一个调试日志,该程序非常快速地将信息发送到处理信息:

的Python程序:
./debugClient | python processor.py

问题是,DebugClient程序可实时产生输出,并且处理器程序也需要实时处理。这是完全可以的,只要程序实时发生,就可以预计会丢失某些信息。但是,当两者一起用管道时,我似乎只会获取旧的调试信息到processor.py。我理解为什么这是这种情况,因为这两个程序应该同时运行,并且该程序不仅涉及一个stdin循环。但是,我对所涉及的缓冲区以及为什么未发送新信息而不是旧信息感到困惑。

通过创建两个线程来完成我想要的东西,一个线程仅收集信息,一个处理信息。

最新更新