В настоящее время я реализую код, который будет отображать в реальном времени некоторые данные, полученные по сети.Я запускаю часть сбора и декодирования сети в выделенном процессе и управляю частью отображения в основном процессе.
Сначала я использовал очереди для передачи декодированных данных в основной процесс, хотя он работает, у меня есть некоторая производительностьпроблемы, так как у меня есть очень большой объем данных.Я хотел использовать 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())