在SimPy进程中调用函数

时间:2014-04-20 21:57:17

标签: python simpy

我正在尝试使用Python和SimPy编写用于进程通信的程序。如果我将所有代码放在一个函数中并调用

simpy.Environment().process(function_one())
一切都运行得很好。但是,如果我在function_one()中调用另一个函数,如

def function_one(self):
  function_two()

function_two永远不会被执行。如果我这样称呼它,将执行function_two

def function_one(self):
  simpy.Environment().process(function_two())

然而,其余的function_one将被执行,并且不会等待function_two执行。我显然不想把我的所有代码放在一个函数中,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

传递给process()的函数必须是生成事件实例的生成器函数。此外,您必须调用Environment.run()才能实际执行模拟。您应该阅读tutorial以开始使用SimPy。