如何根据整数参数的相同值从等待块中释放代理

How to free agents from a wait block based on same value of a integer parameter

我有参数为 ring(类型为 int)的代理(类型为 Segment)。当具有相同 ring 参数的三个环进入 wait 块时,我想释放我的代理。例如 wait 块中的条目如下 13, 25, 7, 25, 13, 25, 13, 7, 1, 1, 7, 1...

一旦块中出现 3 个具有相同 ring 参数的代理,就应该释放它们。 我正在努力比较队列中的参数,如果有人能提供帮助那就太好了。

虽然这篇文章没有直接回答你的问题,但它有足够的信息来帮助你做你需要做的事情:

https://noorjax.com/2019/07/02/dynamic-batches/

想法是每次到达时,您都需要循环遍历队列或等待块的内容。为此,请在 Enter 上编写类似于以下内容的内容:

List <Segment> segments = findAll(wait,s->s.ring == agent.ring );
if( segments.size() == 3 ) {
  for( Segment s : segments ) {
     self.free( s );
  }
}