Simpyを使用して都市のグリッドを移動する自動車の動作をモデル化しようとしています。しかし、私はちょうど方法self.someMethod()
を呼び出す対Simpy - 歩留まりを使用するタイミングと関数を呼び出すタイミング
yield self.env.timeout(delay)
またはyield env.process(self.someMethod())
ようなものを使用する際に概念的周り私の頭をラップするいくつかの問題を抱えています。
非常に理論的なレベルで、私はyield
ステートメントとジェネレーターをどのようにiterablesに適用するかについては理解していますが、それがどのようにSimpy
に関係するかはわかりません。
Simpy
チュートリアルは依然として密集しています。例えば
:あなたはまだ完全に発電機/非同期 の機能を理解していなかったよう
class Car(object):
def __init__(self, env, somestuff):
self.env = env
self.somestuff = somestuff
self.action = env.process(self.startEngine()) # why is this needed? why not just call startEngine()?
def startEngine(self):
#start engine here
yield self.env.timeout(5) # wait 5 seconds before starting engine
# why is this needed? Why not just use sleep?
env = simpy.Environment()
somestuff = "blah"
car = Car(env, somestuff)
env.run()
コメントはありません '//'と、 '#'で始まります。 –
おっと、ありがとう。そのコードをSOに貼り付けた後でそのコメントを追加しました。 – noblerare