如何在 SimPy 4 中终止模拟
How to terminate simulation in SimPy 4
有没有办法通过使用像 env.exit() 这样的命令来终止 simpy 模拟?我不明白如何将事件放入 env.run(until=event)
。当我的某个 Simpy Stores
中没有对象时,我想终止模拟。我该怎么做?
一切都是简单的事件,甚至是环境本身。因此,您可以终止模拟标记作为“根”事件的成功。
# Save the event somewhere
end_event = env.event()
# Later, when you want to terminate the simulation, run
end_event.succeed()
为了检查商店是否为空,只需检查其 items
len 是否等于零。
如果你把所有的放在一起,你可以做类似的事情来解决你的问题:
store = simpy.FilterStore(env, capacity=10)
if len(store.items) == 0:
end_event.succeed()
有没有办法通过使用像 env.exit() 这样的命令来终止 simpy 模拟?我不明白如何将事件放入 env.run(until=event)
。当我的某个 Simpy Stores
中没有对象时,我想终止模拟。我该怎么做?
一切都是简单的事件,甚至是环境本身。因此,您可以终止模拟标记作为“根”事件的成功。
# Save the event somewhere
end_event = env.event()
# Later, when you want to terminate the simulation, run
end_event.succeed()
为了检查商店是否为空,只需检查其 items
len 是否等于零。
如果你把所有的放在一起,你可以做类似的事情来解决你的问题:
store = simpy.FilterStore(env, capacity=10)
if len(store.items) == 0:
end_event.succeed()