I have a problem with the code below, and with any code that uses the print function in the child processes: I can't see any printed statements, even if I use sys.std[err|out].write('worker') in place of print.
This is the code (from the official python documentation):
from multiprocessing import Process
def f(name):
print 'hello', name
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
The output is blank.
Note: the following code, using the threading module, works (prints hello bob):
import threading
def f(name):
print 'hello', name
if __name__ == '__main__':
p = threading.Thread(target=f, args=('bob',))
p.start()
p.join()
Can you please point me to the solution? Thanks in advance.