producer-consumer相关内容

Monitor.Wait 需要同步吗?

我开发了一个通用的生产者-消费者队列,它由 Monitor 以下列方式脉冲: 入队: public void EnqueueTask(T task){_workerQueue.Enqueue(task);Monitor.Pulse(_locker);} 出队: private T Dequeue(){T出列项;if (_workerQueue.Count > 0){_workerQu ..
发布时间:2022-01-22 20:00:30 C#/.NET

生产者/消费者 - 生产者将数据添加到集合而不阻塞,消费者批量消费来自集合的数据

我有一个有点不寻常的生产者/消费者用例.我有一些生产者的真实用例,我希望他们能够将对象添加到集合中而不会阻塞.消费者(只有一个)应该阻塞,直到集合中有一定数量的对象可用(例如 500),然后批量消费它们.虽然少于 500 个,但它应该阻塞并等待集合填满.我不介意队列是否在短时间内超过此值(700、1000 等). 我目前似乎没有找到解决这个确切问题的解决方案.我正在考虑使用 Concurre ..
发布时间:2022-01-21 12:33:11 Java开发

Java线程等待和通知

我有两个线程.线程 A 正在从队列中提取一些元素,线程 B 正在向队列中添加一些元素. 我希望线程 A 在队列为空时进入睡眠状态. 当线程 B 向队列中添加一些元素时,它应该确保线程 A 正在工作.如何在 Java 中做到这一点? 解决方案 使用 BlockingQueue,即: 一个队列,它还支持在检索元素时等待队列变为非空的操作,以及在存储元素时等待队列中可用空间的操 ..
发布时间:2022-01-21 12:21:49 Java开发

为什么一个简单的 python 生产者/消费者多线程程序不能通过增加工人的数量来加速?

下面的代码与 http://docs 上的 python 官方队列示例几乎相同.python.org/2/library/queue.html 从队列导入队列从线程导入线程从时间进口时间导入系统num_worker_threads = int(sys.argv[1])源 = xrange(10000)def do_work(项目):对于 xrange(100000) 中的 i:经过定义工人(): ..
发布时间:2022-01-21 12:05:23 Python

带有批处理的Java BlockingQueue?

我对与 Java BlockingQueue 相同的数据结构感兴趣,但它必须能够批处理队列中的对象.换句话说,我希望生产者能够将对象放入队列,但让消费者阻塞 take() 直到队列达到一定大小(批量大小). 然后,一旦队列达到批量大小,生产者必须阻塞 put() 直到消费者消耗完队列中的所有元素(在这种情况下,生产者将开始生产再次和消费者阻塞,直到再次达到批处理). 是否存在类似的数据 ..
发布时间:2022-01-21 11:55:36 Java开发

使用 Apache Camel 反复轮询只读文件系统中的文件(幂等 = false)?

我正在使用轮询消费者模式从给定的只读目录中读取所有文件并进行处理.是否有忽略幂等性的选项? 我了解使用 noop=true & 定义的路线idempotent=false 会使整个系统崩溃(无限循环),但池化消费者模式是一次性操作,在给定时刻触发. 解决方案 camel file2 端点不会导致系统崩溃,因为它默认每秒轮询 2 次.它将从当时该文件夹中的所有文件创建一条消息.(好吧, ..
发布时间:2022-01-19 09:02:07 Java开发

RabbitMQ:快速生产者和慢消费者

我有一个应用程序,它使用 RabbitMQ 作为消息队列在两个组件之间发送/接收消息:发送者和接收者.发件人以非常快的方式发送消息.接收方接收到消息,然后执行一些非常耗时的任务(主要是为非常大的数据量写入数据库).由于接收者需要很长时间才能完成任务然后检索队列中的下一条消息,因此发送者将继续快速填满队列.所以我的问题是:这会导致消息队列溢出吗? 消息消费者如下所示: public void ..
发布时间:2022-01-11 17:39:24 Java开发

RabbitMQ 消费者过载

我一直在阅读有关 AMQP 消息确认原则的信息.(https://www.rabbitmq.com/confirms.html).非常有用且写得很好的文章,但是关于消费者声明的一个特别的事情确实令人困惑,这里是引述: 使用自动确认模式时需要考虑的另一件事是消费者过载. 消费者超载?消息队列由代理处理并保存在 RAM 中(如果我理解正确的话).它是关于什么超载的?消费者是否有某种第二个队 ..
发布时间:2022-01-11 17:32:29 其他开发

如何解决警告:React 无法识别 DOM 元素上的 X 属性

我正在使用一种叫做 react-firebase-js 的东西来处理 firebase 身份验证,但我的理解反应和提供者消费者的想法是有限的. 我开始在顶层构建一个非常大的 JSX 东西,并且它可以在没有警告的情况下工作.但是当我尝试将其分解为多个组件时,我收到了标题和其他一些警告中显示的警告. 这在没有警告的情况下有效... //在 App.js 组件中使成为() {返回 ( ..

在 C# 中实现生产者/消费者模式

如何使用事件和委托在 C# 中实现生产者/消费者模式?使用这些设计模式时,在资源方面我需要注意什么?是否有任何我需要注意的边缘情况? 解决方案 我知道这个帖子有点老了,但是因为我有时在搜索中遇到它,所以我决定分享这个生产者-消费者代码给想知道的人如何实现一个简单的通用生产者-消费者作业队列. Job 类用于以委托的形式“存储"对象的方法调用.然后在处理作业时调用委托.任何相关参数也存 ..
发布时间:2021-12-19 22:33:56 C#/.NET

使用队列的生产者/消费者线程

我想创建某种Producer/Consumer 线程应用程序.但我不确定在两者之间实现队列的最佳方法是什么. 所以我有两个想法(这两个想法都可能完全错误).我想知道哪个更好,如果它们都糟糕,那么实现队列的最佳方法是什么.我关心的主要是我在这些示例中对队列的实现.我正在扩展一个 Queue 类,它是一个内部类并且是线程安全的.下面是两个例子,每个例子有 4 个类. 主类- public ..
发布时间:2021-11-25 14:11:29 Java开发

Kafka 0.8中producer能不能找到broker的增删改查?

我们知道,在kafka 0.7中,我们可以为producer指定zk.connect,这样producer可以找到broker的增删.但是在 kafka 0.8 中,我们不能为生产者指定 zk.connect.kafka 0.8 中的生产者能找到吗?如果不是,系统的扩展性不比0.7版本差? 解决方案 您仍然可以使用 ZooKeeper 客户端来检索代理列表: ZkClient zkCli ..

Zookeeper 是 Kafka 的必备品吗?

在 Kafka 中,我只想使用单个代理、单个主题和具有一个生产者和多个消费者的单个分区(每个消费者从代理获取自己的数据副本).鉴于此,我不想要使用 Zookeeper 的开销;我不能只使用经纪人吗?为什么必须要有动物园管理员? 解决方案 是的,运行 Kafka 需要 Zookeeper.来自 Kafka 入门文档: 第 2 步:启动服务器 Kafka 使用zookeeper,所 ..

如何在Java中获得消费者Kafka滞后

我在 java 中有一个生产者,在 nodeJS 中有一个消费者.我想在 Java 中知道什么是消费者滞后,所以我知道我是否可以为该主题生成更多数据. java 中获取消费者延迟的 API 是什么? 解决方案 您可以从 Java 调用的实际类是 kafka.admin.ConsumerGroupCommand.它是 Scala 代码,但很容易直接从 Java 调用. 这里有一个 ..

没有来自 Kafka Consumer Python 的数据 - 消费者一直在听,但什么也没有出来

我正在寻找一种使用 kafka 向我的 docker 显示我的 API (localhost) 的方法. 我的制作人(下图)工作得很有魅力.我知道是因为当我打印 res.text 时,我有一个输出. 导入json进口请求从 kafka 导入 KafkaProducer导入时间# 获取数据res = requests.get('http://127.0.0.1:5000/twitter' ..

在Kafka中设计生产者和消费者的组件

我使用 Kafka 和 Zookeeper 作为数据管道的主要组件,每秒处理数千个请求.我使用 Samza 作为实时数据处理工具,用于我需要对数据进行的小型转换. 我的问题是我的一个消费者(比如 ConsumerA)消费了来自 Kafka 的几个主题并处理它们.基本上创建一个被消化的主题的摘要.我还想将此数据作为单独的主题推送到 Kafka,但这会在 Kafka 和我的组件上形成一个循环. ..

Kafka 0.8中producer能不能找到broker的增删改查?

我们知道,在kafka 0.7中,我们可以为producer指定zk.connect,这样producer可以找到broker的增删.但是在 kafka 0.8 中,我们不能为生产者指定 zk.connect.kafka 0.8 中的生产者能找到吗?如果不是,系统的扩展性不比0.7版本差? 解决方案 您仍然可以使用 ZooKeeper 客户端来检索代理列表: ZkClient zkCli ..