Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法让每个代理发生并行服务和/或延迟,并继续进行耗时最长的活动。例如,如果我有一个可以同时绘制和服务的代理,每个代理都需要具有不同处理时间的不同资源池,但是当花费时间最长的进程结束时,代理将继续前进。
使用 Split 块将代理分成两个并行任务(服务块),然后使用 Combine 将它们再次组合回来(使用 Combine 块输出原始代理 1)。
您还可以在拆分/合并区域周围使用 RestrictedAreaStart 和 RestrictedAreaEnd 块(容量 1),以确保在最长的并行进程仍在运行(但较短的进程已完成)时其他代理无法“跳入”。
类似于下面的内容(带有资源池)。
从 1 个服务元素中动态设置所需的延迟持续时间和资源可能最容易:
计算您的代理在每种情况下使用的持续时间(绘画 = 5 分钟,服务 = 10 分钟)-> 使用较长的值作为服务延迟
此外,使代理需要 1 名油漆工和 1 名服务工程师作为资源。
唯一的缺点:您的画家也会停留 10 分钟。
替代方法可能涉及创建您自己的、纯粹基于代理的设置,并带有捕获和释放