在班次结束时暂停处理

时间:2018-05-31 09:26:24

标签: java simulation anylogic

我有一个容量为1的resourcePool,其定义的开/关时间表。汇编程序块占用资源然后将其延迟。如果开启/关闭计划在汇编程序延迟中有代理程序时关闭资源,我找到两个选项: 1.资源一直存在,直到延迟完成并释放资源。 2.代理人立即被踢出并释放资源。

这些都不符合现实世界的情况。如果我到达轮班的结束,可能没有人会完成他的工作,除非它是绝对必要的。任何人都不会扔掉半成品。

如果工作人员暂停处理并在第二天继续在同一个代理上工作,那将更为现实。

我可能只是错过了一些设置。是否有一种简单的方法可以解决这种问题?

1 个答案:

答案 0 :(得分:2)

我不知道你是如何找到这些选项的,但正确的方法是使用汇编程序块中的preemption选项:

preemption

要完成你想要的,你必须使用"等待原始资源"选项,或抓住任何资源选项(相同的结果,因为您只有一个资源)。任务抢占策略定义当资源由轮班结束或具有更高优先级的任务获取资源时代理会发生什么。