线程间通信


'''

'''

# 生产者
import random
import threading
from queue import Queue
from threading import Thread
from time import sleep


def producer(queue):
    print('开门营业了,欢迎光临!')
    foods = ['酸辣土豆丝', '西红柿炒鸡蛋', '糖醋里脊', '宫保鸡丁', '鱼香肉丝']
    for i in range(30):
        food = random.choice(foods)
        print('{}正在加工中.....'.format(food))
        sleep(1)
        print('{}加工完成....'.format(food))
        # 添加到队列中
        queue.put(food)
    queue.put(None)


# 消费者
def consumer(queue):
    print('{}过来吃饭了....'.format(threading.current_thread().name))
    while True:
        food = queue.get()
        if food:
            print('正在享用美食:{}'.format(food))
            sleep(8)
        else:
            print('{}把饭店吃光了,走人,明天再来...'.format(threading.current_thread().name))
            break


if __name__ == '__main__':
    queue = Queue(6)

    pro = Thread(target=producer, args=(queue,))
    con = Thread(target=consumer, args=(queue,), name='坤坤')

    pro.start()
    con.start()

 

发布了259 篇原创文章 · 获赞 6 · 访问量 4269
App 阅读领勋章
微信扫码 下载APP
阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览