问题标签 [producer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
520 浏览

.net - .NET 消费者/生产者(队列)

我是 .NET/Threads 的新手,我想知道是否有人可以帮助我完成这个练习。我需要替换注释以使其在不锁定线程的情况下工作:

我管理了这个,但它没有完成

并给出以下错误: 对象同步方法是从不同步的代码块中调用的,在Monitor.PulseAll(queue);

0 投票
3 回答
3161 浏览

c - 多线程消费者,生产者 C 代码,不执行?

我正在尝试做一个简单的多线程消费者/生产者,其中多个读取器和写入器线程从文件读取到缓冲区,然后从缓冲区读取回文件。它应该是线程安全的。但是,它并没有像我预期的那样表现。它在中途停止,但每次都在不同的线路上?请帮助我理解我做错了什么?!?

任何建议表示赞赏!

0 投票
1 回答
5970 浏览

synchronization - 有界缓冲区的生产者/消费者,信号量的多个生产者/消费者

我有点卡在多个消费者/生产者问题上。它出现在我的讲义中,但我根本无法理解为什么单一的消费者/生产者方法行不通。

1 个消费者和 1 个生产者的典型方法如下所示:

如果我有超过 1 个生产者和/或超过 1 个消费者,为什么这不起作用?我到处寻找,但找不到我理解的答案:s。

互斥信号量确保没有 2 个进程同时在缓冲区中工作,所以我看不出如果你有更多进程,这个属性会如何改变......

“解决方案”是将互斥锁更改为 ProducerMutex 和 ConsumerMutex。但是现在这意味着生产者和消费者可以同时在缓冲区中,这是不允许的,对吧?

我真的没有得到这个:s

0 投票
1 回答
405 浏览

c#-4.0 - 使用 BlockingCollection 时从消费者任务向生产者任务发送信号

我有一个非常基本的应用程序,它使用生产者任务和消费者任务来处理文件。它基于此处的示例http://msdn.microsoft.com/en-us/library/dd267312.aspx

该程序的基础是 Producer 任务枚举我硬盘上的文件并计算它们的哈希值并执行其他一些操作。一旦 Producer 处理完一个文件,它就会 Enques 文件,然后 Consumer 抓取它。

Consumer 任务必须连接到远程服务器并尝试上传文件。但是,如果消费者遇到错误,例如无法连接到远程服务器,我需要它向生产者任务发出信号,告知它应该停止正在做的事情并终止。如果服务器宕机或宕机,生产者无需继续循环浏览数千个文件。

我已经看到大量通过在 BlockingCollection 对象上使用 .CompleteAdding() 从 Producer 任务向 Consumer 任务发出信号的示例,但我不知道如何从 Consumer 向 Producer 发送信号,表明它应该停止生产。

0 投票
2 回答
4209 浏览

spring - 什么是 CDI 的 InjectionPoint 的 Spring DI 等价物?

我想创建一个 Spring 的 bean producer 方法,它知道谁调用了它,所以我从以下代码开始:

如何获取想要注入 bean 的信息

我在 Spring 世界中寻找与CDI相当的东西。InjectionPoint

0 投票
1 回答
835 浏览

c - 生产者/消费者线程无法使用 pthread 进行 DNS 查找

我正在使用生产者/消费者问题来制作多线程 DNS 解析器。我在没有多线程的情况下解决了它,所以我很确定我的那部分代码可以工作。基本上,我正在创建一个生产者来编写,并且(将创建)许多消费者来阅读。目前,我正在从一个包含 IP 地址的文件中读取。我不知道为什么我的生产者线程没有运行;在让我的消费者运行之前,我需要弄清楚这是怎么回事。任何帮助都感激不尽。

这是我的代码(到目前为止):

编辑:我修复了一些代码,我认为它应该可以工作。但是,它仍然没有。

我没有看到任何工作。有什么建议么?

当我调试它时,我不断收到段错误。我不知道他们为什么或从哪里来;我是 pthreads 的新手,所以我可能错过了一些东西,但对我来说它看起来应该可以工作。

0 投票
3 回答
7441 浏览

java - java并发:多生产者一消费者

我有一种情况,不同的线程填充一个队列(生产者),一个消费者从这个队列中检索元素。我的问题是,当从队列中检索其中一个元素时,会丢失一些元素(丢失信号?)。生产者代码是:

它们是通过以下方式创建和运行的:

消费者代码是:

运行代码时,有时会添加 20 个元素并检索 20 个元素,但在其他情况下检索的元素少于 20 个。知道如何解决这个问题吗?

0 投票
2 回答
1383 浏览

php - 如何在 kohana 3.1 中调用程序

Kohana 是一个 php 框架。这是文档。如何在这个框架中调用过程。我已经搜索过这个问题并提出了问题。喜欢: Kohana 3 中的 insert_id

这是我的代码:

但有一些例外..

似乎db连接有问题..

我该如何解决它...寻求帮助..

0 投票
0 回答
796 浏览

c# - 当生产者也是消费者时,如何在生产者/消费者模式中使用阻塞集合 - 我该如何结束?

我有一个递归问题,消费者在树的每一层都做了一些工作,然后需要沿着树递归并在下一层执行相同的工作。

我想使用 ConcurrentBag/BlockingCollection 等来并行运行它。在这种情况下,队列的消费者,也是队列的生产者!

我的问题是这样的:使用 BlockingCollection,我可以编写非常简单的 foreach 逻辑来使项目出队,并将新项目排队 - 当队列为空时,阻塞集合将正确阻塞,并等待另一个产生新工作消费者。

但是我怎么知道是否所有的消费者都在阻止?!

我知道 CompleteAdding(),但这似乎没有用,因为你真正完成的唯一时间是所有生产者都完成生产并且队列为空 - 因为它们都会阻塞,所以没有人“ free" 来设置 CompleteAdding()。有没有办法检测到这一点?(也许一个事件可以在阻塞时触发,并在解除阻塞时再次触发?)

我可以手动处理这个问题,不使用 foreach,而是手动使用 while(!complete) 循环,并使用 TryTake,但是我需要手动休眠,这似乎效率低下(拥有阻塞集合的全部原因与只是首先是并发集合!)每次通过循环,如果 TryTake 为 false,我可以设置一个 Idle 标志,然后让 Master 检查队列是否为空,并且所有线程都处于空闲状态,设置一个完整标志,但是,这似乎很笨拙。

直觉告诉我有一些方法可以使用阻塞收集来做到这一点,但我无法做到。

无论如何,当消费者是生产者并且能够检测到何时释放所有块时,任何人都有一个很好的模式会很棒

0 投票
2 回答
3989 浏览

java - oData4j 示例 Eclipse 项目

我从 odata.org 下载了 oData4J jar 文件,我打算在基本的 Web 服务中做一个示例生成器。

我假设来自http://code.google.com/p/odata4j/的 InMemoryProducerExample.java会完成这项工作,而且很可能是这样。

我的问题是我不知道要创建哪种类型的项目(Eclipse Java),如何部署和测试这个例子。

有没有人有这样一个逐步启动 odata 的地狱世界教程,或者一个使用 oData 中的 InMemoryProducerExample.java 的 Eclipse 项目。我真的需要一个起点,我可以在网上看到一个。

谢谢。