【发布时间】:2018-09-12 02:14:28
【问题描述】:
假设我有 Main 进程和 2 个附加进程 A 和 B。在这个程序中,A 应该向 B 发送数据。如果我们有这样的代码:
from multiprocessing import Process, Queue
def process_a(iterable, q):
for x in iterable:
q.put(x)
def process_b(q):
while some_condition():
x = q.get()
iterable = some_iterable()
q = Queue()
pa = Process(target=process_a, args=(iterable, q))
pb = Process(target=process_b, args=(q,))
pa.start()
pb.start()
pa.join()
pb.join()
鉴于队列q是在Main进程中创建的,数据是这样流动的吗?
A => Main => B
如果是这样,有没有办法让Queue 在B 上初始化并传递给A,这样数据直接从A 到B 跳过Main?
【问题讨论】:
标签: python queue multiprocessing