python process,queue

 1 #-*- coding:utf-8 -*-
 2 from multiprocessing import Process,Queue
 3 import os,time,random
 4 def write(q):
 5     for value in ['A','B','C']:
 6         print  'Put %s to queue...and Ospid is %s'%(value,os.getpid())
 7         q.put(value)
 8         time.sleep(random.random())
 9 def read(q):
10     while True:
11         value = q.get(True)
12         print 'Get %s from queue.and Ospid is %s'%(value,os.getpid())
13 
14 
15 if __name__ == '__main__':
16     q=Queue()
17     pw = Process(target=write,args=(q,))
18     pr = Process(target=read,args=(q,))
19     pw.start()
20     pr.start()
21     pw.join()
22     pr.terminate()
23     print 'Main processes is 'and os.getpid()

结果:

Put A to queue...and Ospid is 7556
Get A from queue.and Ospid is 7324
Put B to queue...and Ospid is 7556
Get B from queue.and Ospid is 7324
Put C to queue...and Ospid is 7556
Get C from queue.and Ospid is 7324
7380

原文地址:https://www.cnblogs.com/liunnis/p/4626180.html