抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

SimPy 版本迁移:SimPy 2 -> SimPy 3 -> SimPy 4

API Reference

SimPy 2 to 3

Imports

SimPy 3 的 import 被简化。SimPy 2 需要根据模拟环境选择需要导入的模块,SimPy 3 大部分情况下只用导入 simpy

Simulation* classes

SimPy 3 的 Environment 替换 SimulationRealtimeEnvironment 替换 SimulationRT

Defining a Process

SimPy 3 中的 Process 是一个封装在进程实例中的 Python 生成器(无论它是在模块级定义的还是作为实例方法定义的)。生成器通常需要对环境的引用才能与之交互,但这是可选的。

进程可以通过创建一个进程实例并将生成器传递给它来启动。环境为此提供了一个快捷方式:process()

SimPy Keywords

SimPy 3中,可以直接生成事件。可以直接实例化事件,也可以使用 Environment 提供的快捷方式。

通常,每当一个进程产生一个事件时,该进程的执行都会被挂起,并在事件被触发后重新开始。为了激发这种理解,一些活动被重新命名。例如,hold 关键字意味着等待一段时间。就事件而言,这意味着发生了超时。因此,hold 已被 Timeout 事件取代。

Interrupts

SimPy 3 中,可以对进程调用 interrupt()。一个中断被抛出到进程中,进程必须通过 try...except simpy.Interrupt 处理中断。

SimPy 3 to 4

Python >= 3.6

Environment Subclasses

BaseEnvironment 类已在 SimPy 4 中移除。Environment 类现在是最基本的类。任何从 BaseEnvironment 继承的代码都应该修改为从 Environment 继承。

Returning from Process Generators

在下面的示例中,Environment.exit() 用于返回 the first needle。当将 SimPy 3 与 Python 2 一起使用时,这是从流程生成器返回值的唯一方法。

在 SimPy 4 与 Python 3 下,可以写为:




SimPy 学习




本站采用 Volantis 主题设计