在SimPy进程中调用函数
我正在尝试用Python和SimPy写一个进程通信的程序。如果我把所有代码放在一个函数里,然后调用
simpy.Environment().process(function_one())
一切都运行得很好。但是,如果我在function_one()里面调用另一个函数,比如
def function_one(self):
function_two()
那么function_two就不会被执行。如果我这样调用它
def function_one(self):
simpy.Environment().process(function_two())
那么function_two会被执行,但这时function_one的其余部分会继续执行,而不会等function_two执行完。我显然不想把所有代码都放在一个函数里,所以希望能得到一些帮助。
1 个回答
1
传给 process()
的函数必须是生成器函数,并且要能产生事件实例。此外,你还需要调用 Environment.run()
来真正执行模拟。为了开始使用 SimPy,你应该阅读这个教程。