java - AnyLogic 中的自定义流程库模块

标签 java anylogic

可以在等待 block 中更改内部队列行为吗?

该元素不是将代理保存在标准队列中,而是保存在 HashMap 中,以便事件处理程序中的代码可以以较低的代码复杂性执行搜索?

我发现的解决方案是使用迭代器滑动队列内的所有元素,但使用 HashMap 可以更快地查找特定代理是否存在。我不会将全局 HashMap 变量放置在主代理的 onStartup 事件处理程序中。

最佳答案

我认为您误解了我在另一个问题上所说的内容。您不会更改 Wait block 的队列行为。您只需添加一个HashMap(或LinkedHashMap)类型的Collection来协助您进行信息管理。该集合将具有 key ID 和对象代理,因为搜索结构比搜索 Anylogic Wait 流程建模库元素更有效。

如果您不想为每个等待 block 创建一个集合,您可以做的是使用新代理创建一个自定义元素。

为此,您创建一个新的代理类型,并在该代理中放置一个入港和一个出港作为进入点和退出点。然后放置一个 Wait block 和一个 HashMap 类型的集合来存储信息。您还必须创建一些参数来输入信息(您需要检查订单是否已存在的其他部门等)。这是更高级的 Anylogic 用法,可能会让初学者感到困惑,因此我不建议在不熟悉 Anylogic 的情况下进入它。

关于java - AnyLogic 中的自定义流程库模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39855723/

相关文章:

r - AnyLogic仿真如何调用R脚本

java - 服务使用资源对象时如何访问资源对象?

java - 一个对象的多个实例的并发问题

java - 使用 TextView 制作像素矩阵

java - 我可以在 ejb 3.1 单例中定义非最终静态字段吗

java - 如何更新 JPA 实体

anylogic - 将代理从现有队列移动到行人库中较短的队列

java - 当代理处于流程图中的特定点时如何更新状态图概率?

java - 我可以在 AnyLogic 拆分组件中将单个代理拆分为多个代理吗?

java - 比较数组列表的字符串元素中的字符导致indexoutofboundsException