Bir olay döngüsü, olayları işleyen/ele alan bir döngüdür. .
bir olay bazı kod parçaları ilginizi çekebilir sistemde meydana şeydir başında
, tüm bileşenlerin etkinlikler için kayıt ve bundan sonra, init olay tetiklenir:
Ben sadece burada ham kod sağlayarak: bir eventqueue
uygulanma biçimi
listeners = [component1, component2, component3]
eventqueue.add(InitEvent())
while True:
event = eventqueue.pop()
for listener in listeners:
listener.handle_event(event)
ve hangi Event()
sınıf hiyerarşisi okuyucuya alıştırma olarak bırakılmıştır benziyor. .pop()
yöntemi için threading.(R)Lock
s vb. Kullanırken dikkatli olun. Ayrıca, her olay türü için ayrı dinleyici listeleriniz olabilir. Bir olay, yalnızca (veya onun .fire()
yöntemiyle) çağrılarak "kovulur" ve olay hakkında onları bilgilendirmek için kendi ve ebeveynlerinin tüm dinleyicilerini tanımlayacak bir mekanizmaya sahip olabilir. Her durumda, dinleyiciler bundan sonra ne yapacaklarına ve olaya göre karar verebileceklerdir.
http://stackoverflow.com/questions/6812397/event-loop-implementation-for-python-3 – avasal
Daha fazla bağlam belirtmeniz gerekir. Sistem programlama, soket programlama, ayrık olay simülasyonu hakkında mı konuşuyorsunuz? –