Python生产者和消费者

# Author:XiangLiangimport threading,timeimport queue

q = queue.Queue(maxsize=10)def Producer(name):    count = 1    while True:        q.put("骨头 %s" %count)        print("生产了骨头",count)        count += 1        time.sleep(0.1)

def Consumer(name):    while True:        print("%s 取到 %s 并且吃了" %(name,q.get()))        time.sleep(1)

p = threading.Thread(target=Producer,args=("ZS",))c = threading.Thread(target=Consumer,args=("XiaoHe",))c1 = threading.Thread(target=Consumer,args=("HuZi",))

p.start()c.start()c1.start()

原文地址:https://www.cnblogs.com/sisa/p/10441139.html

时间: 2024-10-08 22:30:33

Python生产者和消费者的相关文章

python 生产者与消费者模式

生产者与消费者模式 1. 队列 先进先出 2. 栈 先进后出 Python的Queue模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue.这些队列都实现了锁原语(可以理解为原子操作,即要么不做,要么就做完),能够在多线程中直接使用.可以使用队列来实现线程间的同步. 用FIFO队列实现上述生产者与消费者问题的代码如下: import threading import time from q

Python 生产者与消费者模型

定义: 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题.该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度.     为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程.在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据.同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者.为了解决这个问题于是引入了生产者和消费者模式.     什么是

Kafka(八)Python生产者和消费者API使用

单线程生产者 #!/usr/bin/env python # -*- coding: utf-8 -*- import random import sys from kafka import KafkaProducer from kafka.client import log import time import json __metaclass__ = type class Producer:     def __init__(self, KafkaServer='127.0.0.1', Ka

python生产者和消费者模式实现(一)

import timeimport randomfrom multiprocessing import Queue # 生产者def producer(q, num): for i in range(1, num + 1): food = 'Spam-%d' % i # time.sleep(random.uniform(1, 2)) timeVal = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print('时间:%s\

Python 生产者和消费者模型

import timedef consumer(name): print ("%s consumer one product" %name) while True: baozi = yield print ("baozi[%s] bei [%s] chile" %(baozi,name)) def producter(name): c = consumer('A') c2 = consumer('B') c.__next__() c2.__next__() prin

rabbitmq的安装和命令介绍及python程序模拟生产者和消费者

[介绍] RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. RabbitMQ是流行的开源消息队列系统,用erlang语言开发 RabbitMQ是AMQP(高级消息队列协议)的标准实现 官网:http://www.rabbitmq.com/ [安装] 方式:yum/rpm 系统环境 [[email protected]_server scripts]# ifconfig | sed -n 's#.*inet addr:

python实现生产者和消费者模式

利用python的线程实现简单生产者和消费者模式,这种模式在多线程编程时还是用的比较多吧,下面是源代码: 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 import requests,time 4 import threading,queue 5 6 7 class mythread_1(threading.Thread): 8 def __init__(self,queue): 9 super(mythread_1,self).__init__

并发编程之多进程3 (生产者与消费者模型) 回调函数

一.生产者消费模型补充 总结: ---生产者消费者模型程序中两种角色:①负责生产数据(生产者):②负责处理数据(消费者) ---生产者消费者模型的作用:平衡生产者与消费者之间的速度差. ---实现方式:生产者-->队列-->消费者 如上篇博客内容关于生产消费模型内容,在生产者生产数据的过程结束后,即使消费者已将数据完全获取,消费者程序也不能结束,需由主进程或者生产者在结束生产程序后发送给消费者结束口令,消费者程序才会结束.但是如果出现多个消费者和多个生产者,这种情况又该如何解决?方法如下两种:

7.2.6 - 并发多线程 生产者,消费者

一 生产者消费者模型介绍 为什么要使用生产者消费者模型 生产者指的是生产数据的任务,消费者指的是处理数据的任务,在并发编程中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据.同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者.为了解决这个问题于是引入了生产者和消费者模式. 什么是生产者和消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题.生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生