I have two processes: proc_a, proc_b and I want the return of proc_a to be equal to the value of data_new
.
Is this possible or do I have to use multiple Pipes?
if __name__ == '__main__':
parent, child = Pipe()
p1 = Process(target=proc_a, args=(parent, child,))
p2 = Process(target=proc_b, args=(parent, child,))
p1.start()
p2.start()
p1.join()
p2.join()
And on proc_a()
and proc_b()
:
def proc_a(parent, child):
data = somedata
child.send(data)
result = parent.recv()
return result
def proc_b(parent, child):
data = parent.recv()
data_new = data + 1 # Sample change
child.send(data_new)