5
我想實現在python2.7事件循環。我希望能夠根據時間事件觸發事件並作爲其他操作發生的結果。
我明白我可以利用select
做一些類似的。
這是正確的方式前進或者是有哪些我缺少一個更好的辦法?
我想實現在python2.7事件循環。我希望能夠根據時間事件觸發事件並作爲其他操作發生的結果。
我明白我可以利用select
做一些類似的。
這是正確的方式前進或者是有哪些我缺少一個更好的辦法?
事件循環是處理/處理事件的循環。 。
一個事件是指發生在系統中的一些代碼部分可能有興趣在
在開始的時候,所有的組件註冊事件,之後,init事件觸發:
我只是提供原始代碼在這裏:
listeners = [component1, component2, component3]
eventqueue.add(InitEvent())
while True:
event = eventqueue.pop()
for listener in listeners:
listener.handle_event(event)
怎樣的eventqueue
實現,什麼Event()
類層次看起來就留給讀者自己練習。 .pop()
方法請注意使用threading.(R)Lock
等。
此外,你可以有各種事件類型的單獨的偵聽器列表。因此,一個事件可以通過調用它(或其.fire()
方法)而被「解僱」,並且具有識別其自己和父母的所有聽衆的機制,以便向他們通知事件。
在任何情況下,聽衆則可以決定自己做什麼用的,並根據事件。
http://stackoverflow.com/questions/6812397/event-loop-implementation-for-python-3 – avasal
您需要指定更多的上下文。你在談論系統編程,套接字編程,離散事件模擬嗎? –