无法停止程序,以及错误
问题描述:
我的程序为啥没有停止,而且执行的循序有错误呢??需要怎么改动呢?
而且结果是不对的
相关代码:
# coding:utf-8
'''
生产者消费者模型当中有两大重要的角色,一个是生产者(负责生产数据的任务)
另一个是消费者(接收生产出来的数据,并进行进一步的操作)
已知慕慕是生产者,为小朋友们制作小蛋糕,共制作了 10 只小蛋糕
小明、小红、安安 3 人是消费者,将慕慕制作的小蛋糕全部吃掉
请同学们结合多线程和队列的相关知识,根据以下任务提示,实现生产者和消费者模型的程序
'''
import json
import threading
import time
import queue
# 创建队列
q = queue.Queue()
# 生产者
def Producer(name):
for i in range(10):
print(name + "生产第%s块蛋糕" % (i+1))
q.put(i+1)
# 消耗者
def Consumer(name):
count = 0 # 循环
while True:
# 取出蛋糕并吃掉
result = q.get()
if count >= 4:
break
count += 1
print("{}吃了第{}块蛋糕,一共是{}块蛋糕".format(name, result, count))
if __name__ == "__main__":
# 创建线程 一个生产者 三个消费者
p = threading.Thread(target=Producer, args=('慕慕',))
c1 = threading.Thread(target=Consumer, args=('小明',))
c2 = threading.Thread(target=Consumer, args=('小红',))
c3 = threading.Thread(target=Consumer, args=('安安',))
p.start()
p.join()
time.sleep(1)
for c in (c1, c2, c3):
c.start()
if q.empty():
print(">........")相关截图:

24
收起
正在回答 回答被采纳积分+1
1回答
相似问题
登录后可查看更多问答,登录/注册
Python全能工程师
- 参与学习 人
- 提交作业 16421 份
- 解答问题 4469 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星