I’m trying to understand multiprocessing in python.
from multiprocessing import Process
def multiply(a,b):
print(a*b)
return a*b
if __name__ == '__main__':
p = Process(target= multiply, args= (5,4))
p.start()
p.join()
print("ok.")
In this codeblock, for example, if there was an variable that called “result”. How can we assign return value of multiply function to “result”?
And a little problem about IDLE: when i’m tried to run this sample with Python Shell, it doesn’t work properly? If i double click .py file, output is like that:
20
ok.
But if i try to run this in IDLE:
ok.
Thanks…
Ok, i somehow managed this. I looked to python documentation, and i learnt that: with using
Queueclass, we can get return values from a function. And final version of my code is like this:And there is also a
pipe()function, i think we can usepipe()function,too. ButQueueworked for me, now.