问题标签 [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.
simulation - 经济生产者/消费者模拟
你好美妙的社区!
我目前在业余时间写一个小游戏。它发生在一个大星系中,玩家可以控制一些星星。在这些星星上,您可以构建Buildings,每个建筑物都有一定数量(0..*)的输入,并产生一定数量的输出。这些建筑物具有最大容量/吞吐量,并且按比例缩小其输入会按比例缩小其输出。我想找到一种预算算法来优化(或近似)所有建筑物的吞吐量。这似乎是某种最大流量问题,但我读过的流量优化算法都没有不同类型的输入或依赖输出。
我一直在玩的玩具“科技树”是:
我愿意接受次优算法,并且我愿意保证输入/输出没有循环(它们从构建到构建形成 DAG)。这个想法是在没有玩家干预的情况下允许合理的吞吐量和科技树复杂性,因为在数百或数千颗星的规模上,允许玩家手动定义预算策略并不有趣,并且给没有生命的玩家一个独特的优势。
我目前的策略是建立一个有向无环图,给资源一个总排序(船比金属好比矿石比能源好),然后,循环遍历每个资源,找到最“后代”的建筑生产该资源,让它递归地贪婪地从其输入中获取(造船厂将需要 2 能量和 1 金属,然后精炼厂将获取 1 能量和 1 矿石等),然后在图表中找到任何“骗子”(太阳能发电厂提供 4 种能量,最大值为 2 种),缩减其生产并向前传播变化。为 DAG 解决所有问题后,从图中删除终端元素(造船厂),并从建筑物的最大吞吐量中减去每条边的“当前吞吐量”,然后对下一种资源重复该过程。我想如果有更好的方法,我会问比我聪明得多的人。:)
producer - 线程“主”java.lang.NoSuchMethodError 中的异常:scala.Tuple2._1$mcI$sp()I
属性 props = new Properties();
props.put("zk.connect", "localhost:2181");
props.put("serializer.class", "kafka.serializer.StringEncoder");
ProducerConfig config = new ProducerConfig(props);
生产者生产者=新生产者(配置);
ProducerData data = new ProducerData("test-topic", "test-message");
生产者.发送(数据);
我正在尝试执行此代码,然后在线程“main”java.lang.NoSuchMethodError 中出现异常:scala.Tuple2._1$mcI$sp()I 这个异常。我添加了所有与 scala 相关的 jar file.plese suggedt me ??????
java - Weblogic JMS 高吞吐量生产者/消费者
我正在做一个项目,我们有一个高吞吐量的 jms 消息生产(顺便说一下,还有消费者)。一些测试让我相信我无法在最好的情况下正确使用 JMS 消息生成。首先让我解释一下场景:我们有一个带有 13 个队列的 Weblogic 集群(2 个节点)。消息在 UDP 侦听器 (Netty) 上接收,并创建一个分配在第一个队列上的 ByteMessage,依此类推。通过一些分析,我发现这第一步不需要很长时间来执行,而且它的消费者也没有,但是消息仍然在队列中停留了很长一段时间。它们是非持久性的,交付时间为 0(零)。一个改进是缓存 de connectionFactory、ConnectionQueue、Queue 和 QueueSession 并像永远一样使用它们。但这不可能。我的意思是,我们不应该打开这些资源,也永远不要关闭它们,对吧?真正应该缓存什么以及何时应该释放连接和会话?我应该为要发送的每条消息创建一个会话还是可以重复使用它?我的意思是,考虑到正确的资源处理,在队列上生成大量 jms 消息(每秒 300 条左右)的最佳方法是什么?我被困在这里,我发现的所有来源都告诉我在工作完成但它从未完成时总是关闭(它总是会收到大量消息)。考虑到正确的资源处理,在队列上生成大量 jms 消息(每秒 300 条左右)的最佳方法是什么?我被困在这里,我发现的所有来源都告诉我在工作完成但它从未完成时总是关闭(它总是会收到大量消息)。考虑到正确的资源处理,在队列上生成大量 jms 消息(每秒 300 条左右)的最佳方法是什么?我被困在这里,我发现的所有来源都告诉我在工作完成但它从未完成时总是关闭(它总是会收到大量消息)。
提前问候。
编辑:我忘了说 MDB 有默认的 16 个消费者大小,理论上考虑到单个消息所花费的处理时间,应该足以消耗所有消息而无需“存储”它们。
c# - 最佳数据结构?- 2个线程,1个生产者,1个消费者
用于执行以下操作的最佳数据结构是什么:
2个线程:
- 1 产生(写入)数据结构
- 1 从数据结构中使用(读取然后删除)。
- 线程安全
- 生产者和消费者可以同时访问数据结构
- 高效处理大量数据
jms - 如何在 JSF 中停止词后停止 jms 生产者
我正在使用 JSF 从生产者发送消息,而 JMS 消费者读取消息我想要做的是:当我在 JSF 的文本字段中输入单词“停止”时,我无法再从生产者发送消息
有人能帮助我吗 ?我在等你的答案。
c - 为什么 *randNum 会递增?
请不要对这个问题投反对票,我意识到它并不过分具体,但这正是我的问题。我知道每个命令在我的代码中的作用,我只是不知道它们存在的原因。这非常难以搜索答案,因为我的问题主要与我自己的程序有关。抱歉,如果仍然无法回答,我将努力改进我未来的问题:)。
我需要编写一个可以跨共享内存进行通信的程序,轮流创建和删除进程。我试图理解我得到的那段代码,特别是下面的那段代码。在最底部,我包含了整个生产者代码,以防它帮助任何人回答我的问题。
问题:为什么 *randNum 增加超过 101 时,它打印输出的条件是等于 101?
这是否暗示消费者必须更改位置 *randNum 中包含的值才能满足条件?
稍后的 if 命令:
正如所承诺的,下面的完整程序用于完成目的(试图让您更轻松并防止问题;也提供上下文)
java - 我需要使用什么方法将生产者转换为生成器
假设我有一个产生项目的循环:
标准行为是打印关于对象的描述,但这对于实际应用程序没有多大意义。
我现在希望编写一个自定义迭代器(生成器),通过它我可以获得元素。
所以我需要以next()
这样一种方式编写方法,它会ComplexObject
在每次next()
调用时返回一个,所以它就像循环中的一个步骤。
我该怎么做呢?你会建议我使用什么一般机制?
请记住,我简化了真正的问题以使其易于解释,实际上它当然不像我在这里所说的那么容易,这就是为什么我需要实现我所要求的完全相同的机制。
问候。
附言。(小咆哮)每 24 小时内只允许发布 6 个问题的哔哔声是什么?
java - 在 Java 中生成和使用 OData XML
我正在尝试构建一个生产者和一个消费者,用于基于 GraphML 文件生成 OData。
仅使用来自 XML 的 odata4j 的示例生产者和消费者,我在尝试使用他们的示例生产者构建的示例文件时收到以下错误。
因此,当我基于此示例实现生产者并尝试基于消费者示例使用它时,会出现相同的错误。
任何帮助都将不胜感激。
php - gearman doBackground() 不使用 php
我在本地系统上运行 ubuntu 12.04 64 位,PHP 5.3.10,gearman 1.1.5。以下代码
抛出 php 警告
PHP 警告:模块 'gearman' 已加载到第 0 行的未知中
我还使用构建了 yii 控制台应用程序 WorkerAdminCommand.php
} ?>
和 AdminCommand.php
}
?>
运行 worker php job_entry.php workeradmin 等待工作...运行客户端 php job_entry.php admin arg1 这给了我错误
PHP 错误 [2]: GearmanClient::doBackground(): send_packet(GEARMAN_COULD_NOT_CONNECT) 发送服务器选项包失败 -> libgearman/connection.cc:430
java - Ambiguos injection for HashMap from producer with CDI
I have the following classes:
I get the error ambiguous injection point at property for MyMap and HashMap form ConsumerClass.
How can it be ? I thought that the injection class is unique given through @MyItem annotation.