【问题标题】:Is it possible to programmatically add an agent as a resource to a resource pool?是否可以以编程方式将代理作为资源添加到资源池中?
【发布时间】:2020-10-29 07:59:52
【问题描述】:

我想要做什么: 我想在一个进程中创建一个代理,并在进程结束时将其添加到资源池中,以便另一个进程可以获取它并进一步处理它。这两个进程不同步,因此第一个进程可以完成并将新代理放入池中,而无需第二个进程再次从池中获取它并进一步处理,或者第二个进程可能首先启动并进入等待状态池等待将新代理放入池中。池也可以使用许多代理进行初始化,第二个进程可以在没有第一个进程将新资源存入池中的情况下获取这些代理。

我在文档中看到的内容:

  1. 我在资源池类中没有看到任何允许从池中添加/删除的方法。 (您似乎只定义了容量,然后引擎动态地定义新资源(如果请求达到定义的容量)
  2. 我可以使用集合来存储和检索代理,但是内置的排队和重新评估何时添加一个池非常方便(否则我必须自己连接)

任何建议都将受到高度赞赏

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    您只能使用 myPool.set_Capacity(int) 更改 ResourcePool 的容量。

    如果大于之前的容量,它会为你添加一个资源代理,否则它会删除一些。

    要再添加 1 个,请致电 myPool.set_Capacity(myPool.size()+1)

    如果您需要更高级的功能,则必须使用自定义的、基于代理的资源池(即自己编写代码)自行创建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      相关资源
      最近更新 更多