如何在任何逻辑中为ResourcePool的队列设置优先级

问题描述 投票:1回答:2

我有一系列需要相同资源的服务(一个工人)。我希望工作人员遵循该顺序,而不是随机选择要运行的服务。如何设置ResourcePool队列的优先级?谢谢您的时间

java resources modeling anylogic
2个回答
0
投票

一种方法:

  • 在工作进程中创建Service类型的变量“ myPreviousService”。初始值设置为null
  • 在每个服务中,应用“定制资源选择”选项,并检查要被扣押的单元先前是否已在所需的先前服务对象中工作(在屏幕中,我设置了“ service3”,并要求工作人员进行“ service2“之前)
  • (显然,只有第一个服务不需要此要求)
  • 在每个服务的“检获单位”中,存储unit.myPreviousService = self,以便工作人员记住

希望这会有所帮助

enter image description here


0
投票

通常,在这些情况下,使用服务不是正确的方法,相反,您应该在开始时使用seize块,使代理遍历所有服务(由于资源已经被占用,现在将有延迟表示)在您的工作人员完成所有操作后,您可以使用释放块。

请记住,服务=抓住+延迟+释放

仅当您的工作人员需要按顺序执行时才使用服务,但这与他处理的代理无关(这将与本杰明的解决方案一起使用)

© www.soinside.com 2019 - 2024. All rights reserved.