私は SystemC の世界から来て、Python で簡単なものをコーディングしようとしています。Python に (SystemC の) peq_with_get() に似たものがあるのだろうかと思います。これは基本的に、イベントに対して行われたすべてのトリガーを保存するキューです。テストするために次のコードを開発しましたが、機能していないようです。simpy にイベント キューがあるかどうかを知るために、皆さんが私を案内してくれるかどうか疑問に思っています。
import simpy
SIM_DURATION = 100
class SomeClass(object):
def __init__(self, env):
self.env = env
self.event_trig = self.env.event()
self.event_recvd = self.env.event()
simpy.events.Process( self.env, self._submit_loop() )
simpy.events.Process( self.env, self._complete_loop() )
def _submit_loop(self):
while True:
print('Waiting to Receive the Trigger')
yield self.event_trig
print('Event Received at Time %d' % env.now )
self.event_recvd.succeed()
def _complete_loop(self):
while True:
print('Trigger at time %d' % (env.now + 5) )
self.event_trig = self.env.timeout(5)
print('Trigger at time %d' % (env.now + 6) )
self.event_trig = self.env.timeout(6)
print('Trigger at time %d' % (env.now + 7) )
self.event_trig = self.env.timeout(7)
yield self.event_recvd
print('Current Time is %d. Wait for 10' % env.now)
yield self.env.timeout(10)
print('Start Sim')
env = simpy.Environment()
someCls = SomeClass( env )
env.run()