Java 如何为ResourcePool设置优先级';anylogic中的s队列

Java 如何为ResourcePool设置优先级';anylogic中的s队列,java,resources,modeling,anylogic,Java,Resources,Modeling,Anylogic,我有一系列需要相同资源(一个工作者)的服务。我希望工作人员遵循顺序,而不是随机选择要操作的服务。如何设置资源池队列的优先级? 感谢您抽出时间一种方法: 在worker中创建类型为Service的变量“myPreviousService”。初始值设置为null 在每个服务中,应用“customize resource choice”(自定义资源选择)选项,并检查要扣押的单元以前是否在所需的上一个服务对象中工作过(在屏幕中,我设置了“service3”,并要求工作人员以前在“service2”上工

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

一种方法:

  • 在worker中创建类型为Service的变量“myPreviousService”。初始值设置为null
  • 在每个服务中,应用“customize resource choice”(自定义资源选择)选项,并检查要扣押的单元以前是否在所需的上一个服务对象中工作过(在屏幕中,我设置了“service3”,并要求工作人员以前在“service2”上工作过)
  • (显然,只有第一次服务不需要此要求)
  • 在每个服务的“on-capture unit”中,存储
    unit.myPreviousService=self
    ,以便工作人员记住
希望这有帮助


一般来说,在这些情况下,使用服务不是正确的方法,相反,您应该在开始时使用一个查封块,让代理遍历所有服务(由于您的资源已被查封,因此现在将以延迟表示),并且在您的工作人员完成所有操作后,您可以使用释放块

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


只有当您的工作人员需要完成序列时,才有理由使用服务,但不管他处理的是哪个代理(这将与Benjamin的解决方案一起使用)

我认为您可以使用PriorityQueue()。然而,您的问题并不清楚。请原谅我的无知,您如何创建服务类型的变量?我在列表中找不到此类型请选择类型“其他…”,然后在新框中写入“服务”