#练习:队列 from multiprocessing import Process, Queue def offer(queue): # 入队列 queue.put("Hello World") if __name__ == '__main__': # 创建一个队列实例 q = Queue() p = Process(target = offer, args = (q,)) p.start() print q.get() # 出队列 p.join() #练习 import time from multiprocessing import Process, Queue def set_data(queue): # 入队列 for i in range(10): time.sleep(2) queue.put("Hello World"+str(i)) def get_data(queue): for i in range(10): # 入队列 time.sleep(1) print queue.get("Hello World") if __name__ == '__main__': # 创建一个队列实例 q = Queue() p1 = Process(target = set_data, args = (q,)) p2 = Process(target = get_data, args = (q,)) p1.start() p2.start() p1.join() p2.join() print u"队列是否为空?",q.empty() #练习:写两个队列,一个用来写,一个用来读,一边写,一边读 from multiprocessing import Process, Queue def input_queue(queue_input): for i in range(11): if queue_input.full(): print "队列已经满啦" else: queue_input.put(i) #print queue_input def get_queue(queue_get): for i in range(11): if queue_get.empty(): print u"队列已经空啦" else: print queue_get.get() if __name__=="__main__": q=Queue() p1=Process(target=input_queue,args=(q,)) #写进程和读进程是同时执行的,只不过通过sleep时间来控制读和写的速度 p2=Process(target=get_queue,args=(q,)) p1.start() p2.start() p2.join() p2.join()