12 再次改进版通过队列实现一个生产者消费者模型

import time
from multiprocessing import Process,Queue
#生产者
def producer(q):
    for i in range(10):
        time.sleep(0.2)
        s = '大包子%s号'%i
        print(s+'新鲜出炉,拿去用')
        q.put(s)
    q.put(None)  #发送一个任务结束信号,来中断消费者的程序

def consumer(q):
    while 1:
        time.sleep(0.5)
        baozi = q.get()
        if baozi == None:
            print('都吃完了大哥,该回家伺候嫂子了')
            break
        print(baozi+'被吃了')

if __name__ == '__main__':
    q = Queue(30)

    pro_p = Process(target=producer,args=(q,))
    con_p = Process(target=consumer,args=(q,))
    pro_p.start()
    con_p.start()

猜你喜欢

转载自www.cnblogs.com/work14/p/10266909.html