可以在等待块中更改内部队列行为吗?
相反,该元素将代理保存在标准队列中,并将其保存在HashMap中,以便事件处理程序中的代码能够以较低的代码复杂度执行搜索?
我找到的解决方案是使用迭代器滑动队列中的所有元素,但是如果存在特定代理,则使用HashMap可以更快地找到它。我不会将全局HashMap变量放在主代理的 onStartup 事件处理程序中。
答案 0 :(得分:2)
我认为你误解了我在另一个问题上所说的话。您不会更改等待块的队列行为。您只需添加HashMap类型的Collection(或LinkedHashMap)来帮助您进行信息管理。该集合将具有密钥ID和对象代理,因为搜索结构比搜索Anylogic 等待流程建模库元素更有效。
如果您不想为每个等待块创建集合,您可以使用新代理创建自定义元素。
为此,您可以创建新的代理类型,并在该代理中将输入端口和输出端口设置为进入和退出点。比放置等待块和类型HashMap的集合来存储信息。您还必须创建一些参数来输入信息(其他部门需要检查订单是否已经存在,等等)。这是更高级的Anylogic利用率,也许会让初学者感到困惑所以我不建议在不熟悉Anylogic的情况下进入它。