Python 管道不在两个进程之间发送消息
我在python中有两个进程使用Python 管道不在两个进程之间发送消息,python,multiprocessing,pipe,Python,Multiprocessing,Pipe,我在python中有两个进程使用多处理库,它们都指向两个不同对象的成员函数,如下所示: def start(self): # start the consumer conn1, conn2 = Pipe() p1 = Process(target=self.myClassOne.classFunction(conn1)) p2 = Process(target=self.myClassTwo.classFunction(conn2)) p1
多处理
库,它们都指向两个不同对象的成员函数,如下所示:
def start(self):
# start the consumer
conn1, conn2 = Pipe()
p1 = Process(target=self.myClassOne.classFunction(conn1))
p2 = Process(target=self.myClassTwo.classFunction(conn2))
p1.start()
p2.start()
myClassOne.classFunction如下所示:
for msg in array:
pipe.send("test")
while(True):
print(pipe.recv())
myClassTwo.classFunction如下所示:
for msg in array:
pipe.send("test")
while(True):
print(pipe.recv())
我没有收到这两个函数之间的任何数据,我确信数据正在到达classOne函数。值得一提的是,上面的“数组”实际上是一个正在填充消息的卡夫卡消费者。我错过了什么?(这两个函数的内容是简化的示例,仅用于在添加更多逻辑之前测试结构)。有大量数据从MyClassOne函数流入,我希望能够在数据进入时实时解析数据,而不中断捕获过程。有更好的方法吗?为什么要使用流程管道而不是另一个卡夫卡主题?你听说过Faust library吗?我希望能够在数据进入时实时解析数据,而不会中断捕获过程-任何Kafka使用者循环总是阻塞的,因此处理线程无论如何都会等待变量,函数名应该跟随带有下划线的
小写字母,以及样式(True):
应该写,而True:
,这不是Java,嗯。