管道失败,出现大量数据

时间:2019-05-16 09:22:34

标签: python multiprocessing pipe

我目前正在实现一个代码,该代码将实时显示通过网络接收到的某些数据。 我在专用过程中运行网络获取和解码部分,并在主要过程中管理显示部分。

我首先使用队列将解码后的数据发送到主进程,尽管它可以工作,但由于存在大量数据,我仍然遇到一些性能问题。我想使用Pipes而不是Queues来提高性能,但是它冻结了,没有返回任何错误。 我做错了什么 ? Pipe是否具有最大缓冲区大小,如果可以,如何增加缓冲区大小?

这是一些简单的代码,突出了我所面临的问题。

from multiprocessing import Pipe

pconn, ccon = Pipe()
signal = [-1.4168047904968263e-06]*4096

ccon.send("toto")
print(pconn.recv()) #OK

ccon.send(signal) #this line fails
print(pconn.recv())

0 个答案:

没有答案