2013-03-24 6 views
14

मैं एक समानता की तलाश में हूं जो थ्रेड-आधारित सेवर http अनुरोधों को कैसे प्रबंधित करता है और कैसे एक ईवेंट-आधारित सर्वर http अनुरोधों को संभालता है, के बीच अंतर को समझने में मेरी सहायता करेगा। आइए मान लें कि एक सर्वर एक इमारत में एक दुकान है, पोर्ट 80 दुकान का फ्रंट दरवाजा है, और एक http अनुरोध एक ग्राहक है जो सिर्फ सामने वाले दरवाजे पर चला गया। आगे क्या होगा? दुकान ग्राहक को कैसे संभालती है? दुकान कई ग्राहकों को कैसे संभालती है, और यह कितना तेज़ है कि ग्राहक कितनी तेजी से दुकान छोड़ देता है?थ्रेड-आधारित सर्वर और ईवेंट-आधारित सर्वर के बीच क्या अंतर है?

संक्षेप में, मैं भौतिक, वास्तविक-दुनिया के समानता के संदर्भ में 'ईवेंट लूप' और 'थ्रेड' और "अवरुद्ध" और "गैर-अवरुद्ध" जैसी चीजों की व्याख्या ढूंढ रहा हूं।

उत्तर

21

थ्रेड-आधारित सर्वर समानता में, प्रत्येक ग्राहक को अपने स्वयं के दुकान कर्मचारी द्वारा परोसा जाता है। जब ग्राहक छोड़ देता है, तो दुकान कर्मचारी दूसरे ग्राहक की मदद कर सकता है। कर्मचारियों की संख्या को एक साथ मदद की जा सकती है जो सीधे स्टोर में कर्मचारियों की संख्या से जुड़ा हुआ है।

घटना-आधारित सर्वर अनुरूपता में, एकाधिक ग्राहकों को एक दुकान कर्मचारी द्वारा सेवा दी जा सकती है - चलिए उसे बॉब कहते हैं। बॉब कुछ समय ले सकता है जिसमें कुछ समय लग सकता है (जैसे "मुझे अन्य स्टोर कर्मचारियों के लिए बैक रूम") में आइटम x खोजें। जब बॉब मदद के लिए एक सहायक पूछता है, तो सहायक दुकान में कहीं और सहायक हो जाता है, और बॉब अन्य ग्राहकों की मदद के लिए आगे बढ़ सकता है, जबकि मूल ग्राहक सहायक के लिए बॉब वापस आने के लिए इंतजार कर रहा है। जब सहायक वापस लौटता है, अपना काम पूरा कर लेता है, तो वे बॉब के बॉब के मौजूदा ग्राहक के साथ एक अच्छा रोक बिंदु पर आने की प्रतीक्षा करेंगे, और फिर बॉब फिर से सहायक और मूल ग्राहक से बात कर सकता है।

+0

क्या बॉब वह चीज है जिसे वे एक ईवेंट लूप कहते हैं? –

+0

बहुत ज्यादा, हालांकि बिल्कुल नहीं। –

संबंधित मुद्दे