''' 消息隊列 生產者,消費者 ''' import time from multiprocessing import Queue,Pipe from threading import Thread ''' 一個是write生產者 一個是read消費者 建立一個隊列 q = Queue() 發消息: q.put() 收消息: q.get() ''' #生產者 def producer(q): print("start producer") for i in range(10): q.put(i) time.sleep(0.3) print("end producer") #消費者 def customer(q): print("start customer") #想辦法結束,或者永不結束 while 1: data = q.get() print("customer data {0}".format(data)) time.sleep(0.3) print("end customer") if __name__ == '__main__': q = Queue() p = Thread(target=producer,args=(q,)) c = Thread(target=customer,args=(q,)) p.start() c.start() p.join() #p執行完成後,等待其餘線程執行完成