Simpy를 사용하여 도시 그리드 주변에서 움직이는 자동차의 동작을 모델링하려고합니다. 그러나, 나는 그냥 방법 self.someMethod()
를 호출 대Simpy - yield를 사용할시기와 함수를 호출하는시기
yield self.env.timeout(delay)
또는 yield env.process(self.someMethod())
같은 것을 사용하는 경우 개념적으로 주위에 내 머리를 감싸는 약간의 문제가 발생하고있다.
매우 이론적 인 수준에서 나는 iterables에 적용하는 방법에 관해서는 yield
진술과 생성자를 이해하지만 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()
댓글이 없습니다'//'와'# '로 시작합니다. –
죄송합니다. 코드에 붙여 넣은 후 주석을 추가했습니다. – noblerare