我正在使用SimPy進行基於時間的模擬。獲取事件的信號參數simpy
我有一個梅薩過程發生時監聽特定事件,並返回該事件的參數:
class Messager(Process):
def __init__(self):
Process.__init__(self,'messager')
def monitor(self):
while True:
yield waitevent, self, messageEvent
print messageEvent.signalparam
messager = Messager()
activate(messager,messager.monitor())
能正常工作。然而,在現實中有一個以上的事件應該由梅薩來處理,我想了Messager的返回signalparam的致病事件在事件列表:
messageEvents = [Event1,Event2,Event3]
class Messager(Process):
def __init__(self):
Process.__init__(self,'messager')
def monitor(self):
while True:
yield waitevent, self, messageEvents
.....
我怎麼訪問signalparam事件發生了什麼?
爲什麼messageEvent.singalparam不會工作????第二種情況有什麼不同?你能澄清嗎?在第一種情況下爲 –
,messageEvent是帶有signalparam的單個事件。在第二種情況下,messageEvents是一個事件列表。我需要篩選觸發waitevent的事件列表。我無法看到這些事件的屬性,這將允許我確定這一點。 – meepmeep
因此將問題改爲:如何確定給定的事件是否觸發了Python SimPy中的waitevent? –