生产者与消费者(线程)

本文介绍了一个使用Python的多线程队列生产消费模型,通过队列实现生产者和消费者之间的数据传递,有效地提高了程序的执行效率。实例展示了两个厨师(生产者)不断制作包子,而两个顾客(消费者)持续消费包子的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:主要是为了提高效率
在这里插入图片描述
在这里插入图片描述

实例代码:

 from queue import Queue        #导入队列
 from threading import Thread   #导入线程
 import time

q = Queue(maxsize=10)

生产者

def cooker(name):
    count = 1
    while True:
        q.put('包子%d'%count)
        print('%s---生产了---包子%d'%(name,count))
        count +=1
        time.sleep(2)

消费者

def consumer(name):
    while True:
        print('%s吃了%s'%(name,q.get()))
        time.sleep(1)

主函数

if __name__ == '__main__':
    #厨师1
    c1 = Thread(target=cooker,args=('刘大厨',))
    c1.start()    #开始执行

    #厨师2
    c2 = Thread(target=cooker,args=('李大厨',))
    c2.start()

消费者(调用)

guke1 = Thread(target=consumer,args=('小明',))
guke1.start()

guke2 = Thread(target=consumer,args=('铁蛋',))
guke2.start()

运行结果:

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值