python-多线程3-生产者消费者
16lz
2021-01-22
'''生产者和消费者''' ''' 用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()
更多相关文章
- 生产者-消费者问题
- 线程同步-生产者消费者问题
- 嵌入式Linux要学哪些东西?你真的造吗?
- Linux内核中实现生产者与消费者(避免无效唤醒)
- Linux源码包里有个scripts文件夹,里面放的东西起什么作用?
- 今天看了一整天的汇编语言,真发现语言这东西只是一种思想!
- java并发包学习系列:生产者消费者模式
- fragment 状态保存时怎么执行一些需要在onResume、onPause方法里
- jswdk/jsdk/jdk到底分别是什么东西