एक इवेंट लूप एक लूप है जो घटनाओं को संभालता/सौदा करता है। ।
एक घटना कुछ है कि प्रणाली जहां कुछ कोड भागों में रुचि हो सकती में होता है
शुरुआत में, सभी घटकों की घटनाओं के लिए रजिस्टर, और उसके बाद, एक 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
आपको अधिक संदर्भ निर्दिष्ट करने की आवश्यकता है। क्या आप सिस्टम प्रोग्रामिंग, सॉकेट प्रोग्रामिंग, असतत घटना सिमुलेशन के बारे में बात कर रहे हैं? –