python-多线程3-生产者消费者
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-多线程3-生产者消费者相关的知识,希望对你有一定的参考价值。
‘‘‘生产者和消费者‘‘‘ ‘‘‘ 用python写一个多线程的生产者和消费者 生产者x x>0,有东西,print(不生产) x=0,没东西,print(生产) for循环 消费者x x=0,没东西,print(不消费) x>0,有东西,print(消费) for循环 分别封装成class ‘‘‘ import threading class Producer(threading.Thread): def __init__(self,name): threading.Thread.__init__(self) self.name = name def run(self): global x tt.acquire() if x>0: #print("我已经生产完毕了,你随意去吧") tt.wait() else: for i in range(5): x=x+1 print("%s在生产中,第%d个"%(self.name,x))#线程的名字 tt.release() class Consumer(threading.Thread): def __init__(self,name): threading.Thread.__init__(self) self.name = name def run(self): global x tt.acquire() if x==0: #print("没东西了") tt.wait() else: for i in range(5): x=x-1 print("%s在消费中,第%d个"%(self.name,x+1)) tt.release() x = 0 #tt = threading.Lock() tt = threading.Condition() p = Producer("producer") c = Consumer("consumer") p.start() c.start() p.join() c.join()
结果:
producer在生产中,第1个
producer在生产中,第2个
producer在生产中,第3个
producer在生产中,第4个
producer在生产中,第5个
consumer在消费中,第5个
consumer在消费中,第4个
consumer在消费中,第3个
consumer在消费中,第2个
consumer在消费中,第1个
好难........搞晕了
以上是关于python-多线程3-生产者消费者的主要内容,如果未能解决你的问题,请参考以下文章