前言:十一国庆只能待在家的吴师傅十分无聊,决定开一家Python面包店打发下时间。后面的每一天,吴师傅都会用一段代码简单实现卖面包的功能,并且解决前一天暴露的问题。
面包师傅也不等顾客来了再做面包了,自己一直把面包做完,顾客来了直接拿面包走。
"""python面包师傅在出售提前准备好面包的同时,还要同时准备新面包。"""
import time
import threading
TOTAL = 0
END_FLAG = False
def preproduce():
"""提前准备好的面包。"""
global TOTAL
TOTAL += 10
def producer():
"""生产面包。"""
num = 0
global TOTAL
global END_FLAG
while True:
time.sleep(1)
TOTAL += 1
num += 1
if num >= 10:
# 师傅做了10个面包就要下班了。
END_FLAG = True # 关门了,顾客消费也要停止
print('Close.')
break
def consumer():
"""消费者,买到面包总要说点什么吧。"""
global TOTAL
global END_FLAG
while not END_FLAG:
if TOTAL > 0:
print("I am so happy.")
TOTAL -= 1
else:
time.sleep(2)
print("I am waiting!")
def run():
preproduce()
p = threading.Thread(target=producer)
c = threading.Thread(target=consumer)
p.setDaemon(True)
p.start()
c.start()
p.join()
c.join()
if __name__ == "__main__":
run()
面包师傅抱怨自己一个人干太累了,吴师傅决定再请两个师傅来帮忙。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。