首页 > 解决方案 > 是否有可能使用 java 代码进行维护或中断?

问题描述

当另一个块中的另一个事件发生时,如何将资源池中的所有资源单元发送到维护或中断?

我正在寻找类似的东西:resourcePool.startMainteinance() 并将其写入流程图其他块中的“启动时”框中。当然,我需要使用 resourcePool.stopMainteinance() 之类的方法结束维护,并恢复资源单元正在执行的所有任务。

任何想法?或者一些想法手动暂停所有资源执行任务然后恢复它们?

注意:使用代码 SizeBlock.suspend() 和 SizeBlock.resume() 暂停在大小块中占用的代理不是一种选择,因为资源具有准备任务,并且这些任务也需要暂停。

谢谢!

标签: anylogic

解决方案


您应该使用Downtime为此设置设计的块。

你可以随心所欲地控制它。在你的情况下,myDowntimeblock.startTask(someAgent)工作stopTask(sameAgent)

还要检查名为“咖啡机维护”的示例模型:它显示了使用该模块的所有其他方式。


推荐阅读