題目:python起2個進程一個為生產者、一個為消費者(消費者進程中起協程消費)
from multiprocessing import Process, Queue import time import random import gevent # 消費者方法 def consumer(q): while True: time.sleep(2) gevent_data_list = [] gevent_data_list.append(gevent.spawn(pop_data, q)) gevent.joinall(gevent_data_list) def pop_data(q): res = q.get() print("消費了%s " % (res)) # 生產者方法 def producer(q): # for i in range(10): while True: time.sleep(1) number = random.randint(1, 10) print("生產了 %s" % (number)) q.put(number) if __name__ == "__main__": # 創建隊列 q = Queue() # 創建生產者 p1 = Process(target=producer, args=(q,)) c1 = Process(target=consumer, args=(q,)) p1.start() c1.start()