fork(3) download
  1. from multiprocessing import Process, Queue
  2. import os, time, random
  3.  
  4. def read(q):
  5. print('process to read: %s' % os.getpid())
  6. while True:
  7. value=q.get(True)
  8. print('get %s from queue' % value)
  9.  
  10. def write(q):
  11. print('process to write: %s' % os.getpid())
  12. for value in ['A', 'B', 'C']:
  13. print('put %s to queue..' % value)
  14. q.put(value)
  15. time.sleep(random.random())
  16.  
  17. if __name__=='__main__':
  18. q=Queue()
  19. pw=Process(target=write, args=(q,))
  20. pr=Process(target=read, args=(q,))
  21. pw.start()
  22. pr.start()
  23. pw.join()
  24. pr.terminate()# your code goes here
Success #stdin #stdout 0.07s 12248KB
stdin
Standard input is empty
stdout
process to write: 1593948
put A to queue..
put B to queue..
put C to queue..