Un ciclo di eventi è un ciclo che gestisce/gestisce gli eventi. .
Un evento è qualcosa che si verifica nel sistema in cui alcune parti di codice potrebbero essere interessati a
All'inizio, tutti i componenti registrarsi per gli eventi, e dopo che, un evento init viene licenziato:
sto solo a fornire codice grezzo qui:
listeners = [component1, component2, component3]
eventqueue.add(InitEvent())
while True:
event = eventqueue.pop()
for listener in listeners:
listener.handle_event(event)
come un eventqueue
è implementato e che la gerarchia Event()
classe assomiglia viene lasciato come esercizio per il lettore. Prestare attenzione all'utilizzo di threading.(R)Lock
s ecc. Per il metodo .pop()
.
Inoltre, è possibile avere elenchi listener separati per ogni tipo di evento. Un evento potrebbe quindi essere "licenziato" semplicemente chiamandolo (o il suo metodo .fire()
) e disporre di un meccanismo per identificare tutti i suoi ascoltatori e quelli del genitore al fine di informarli sull'evento.
In ogni caso, gli ascoltatori possono decidere autonomamente su cosa fare e in base all'evento.
http://stackoverflow.com/questions/6812397/event-loop-implementation-for-python-3 – avasal
È necessario specificare più contesto. Stai parlando di programmazione di sistema, programmazione socket, simulazione di eventi discreti? –