import threading,time,queue,random
def scz():
while True:
num=random.randint(1,100000)
q.put(num)#放进队列
print("生产者产生了%d数据" %(num))
time.sleep(5)
q.task_done()#完成任务
def xfz():
while True:
item=q.get()#从队列取出
if item is None:
break
print("消费者消费了%d数据"%item)
time.sleep(3)
q.task_done()
if __name__ == '__main__':
q=queue.Queue()
for i in range(4):
threading.Thread(target=scz).start()
for i in range(3):
threading.Thread(target=xfz).start()
相关文章
- 【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
- 【Java数据结构学习笔记之二】Java数据结构与算法之队列(Queue)实现
- 母鸡下蛋实例:多线程通信生产者和消费者wait/notify和condition/await/signal条件队列
- 循环队列——队列的顺序表示与实现(c语言)
- jedis实现redis的消息队列、发布对象消息、字节数组与字符串相互转换
- jedis实现redis的消息队列、发布对象消息、字节数组与字符串相互转换
- Semaphore实现的生产者消费者程序
- 生产者与消费者(二)---await与 signal
- 进击的Python【第九章】:paramiko模块、线程与进程、各种线程锁、queue队列、生产者消费者模型
- JavaScript数据结构与算法(三) 优先级队列的实现