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