Python 如何在SimPy 4中终止模拟

Python 如何在SimPy 4中终止模拟,python,simulation,simpy,Python,Simulation,Simpy,有没有一种方法可以通过使用类似env.exit()的命令来终止simpy模拟?我不知道如何将事件放入env.run(直到=事件)。当某些Simpy存储区中没有对象时,我想终止模拟。我该怎么做呢?在simpy中,一切都是一个事件,甚至是环境本身。因此,可以将模拟标记终止为“根”事件 为了检查存储是否为空,只需检查其itemslen是否等于零 如果你把所有这些放在一起,你可以做类似的事情来解决你的问题: store = simpy.FilterStore(env, capacity=10) if l

有没有一种方法可以通过使用类似env.exit()的命令来终止simpy模拟?我不知道如何将事件放入
env.run(直到=事件)
。当某些
Simpy存储区中没有对象时,我想终止模拟。我该怎么做呢?

在simpy中,一切都是一个事件,甚至是环境本身。因此,可以将模拟标记终止为“根”事件

为了检查存储是否为空,只需检查其
items
len是否等于零

如果你把所有这些放在一起,你可以做类似的事情来解决你的问题:

store = simpy.FilterStore(env, capacity=10)
if len(store.items) == 0:
    end_event.succeed()

非常感谢你。那很有帮助!不客气@kerim,我很高兴我帮助了你
store = simpy.FilterStore(env, capacity=10)
if len(store.items) == 0:
    end_event.succeed()