'रोकना' अक्सर चर्चा नहीं की जाती है क्योंकि यह अक्सर कभी नहीं किया जाता है। उन मामलों में जहां इसकी आवश्यकता होती है, यह अक्सर उच्च स्तर के पी-सी प्रोटोकॉल का उपयोग करके जहर-गोली को जुटाने के लिए जितना आसान और अधिक लचीला होता है क्योंकि यह कतार में अतिरिक्त कार्यक्षमता का निर्माण होता है।
यदि आप वास्तव में ऐसा करना चाहते हैं, तो आप वास्तव में एक ध्वज सेट कर सकते हैं जो प्रत्येक उपभोक्ता को अपवाद उठाने का कारण बनता है, या तो 'तुरंत' या जब भी यह कतार में वापस आता है, लेकिन समस्याएं होती हैं। क्या आपको सिंक्रोनस होने के लिए 'पूर्ण' विधि की आवश्यकता है, यानी। क्या आप चाहते हैं कि सभी उपभोक्ता 'किए गए' रिटर्न, या असीमित, यानी समय से चले गए हों। आखिरी उपभोक्ता धागा एक घटना पैरामीटर कहता है जब अन्य सभी उपभोक्ता चले जाते हैं?
आप उन उपभोक्ताओं के लिए व्यवस्था कैसे कर रहे हैं जो वर्तमान में जागने की प्रतीक्षा कर रहे हैं? कितने इंतजार कर रहे हैं और कितने व्यस्त हैं, लेकिन जब वे अपना काम करते हैं तो कतार में वापस आ जाएंगे? क्या होगा यदि एक या अधिक उपभोक्ता अवरुद्ध कॉल पर फंस गए हों, (शायद उन्हें अनब्लॉक किया जा सकता है, लेकिन इसके लिए किसी अन्य थ्रेड से कॉल की आवश्यकता होती है - आप इसे कैसे करने जा रहे हैं)?
उपभोक्ताओं को यह सूचित करने के लिए कैसे जा रहे हैं कि उन्होंने अपना अपवाद संभाला है और मरने वाले हैं? क्या 'मरने के बारे में' पर्याप्त है, या आपको थ्रेड हैंडल पर इंतजार करने की ज़रूरत है? यदि आपको थ्रेड हैंडल पर इंतजार करना है, तो प्रतीक्षा करने के लिए क्या किया जा रहा है - कतार शटडाउन का अनुरोध करने वाला थ्रेड या अंतिम उपभोक्ता थ्रेड को सूचित करने के लिए?
ओह हाँ - सुरक्षित होने के लिए, आपको निर्माता धागे की व्यवस्था करनी चाहिए जो अपवाद बढ़ाने के लिए 'शट डाउन' स्थिति में कतार में ऑब्जेक्ट्स के साथ बदलना चाहिए।
मैं इन प्रश्नों को उठाता हूं क्योंकि मैंने बहुत समय पहले यह सब किया है। आखिरकार, यह सब काम किया- आईएसएच। जिन वस्तुओं को कतारबद्ध किया गया था, उन्हें 'क्वीडइटम' अपनी विरासत श्रृंखला में डाला गया था, (ताकि नौकरी रद्दीकरण विधि को कतार में उजागर किया जा सके), और कतार को वस्तुओं की थ्रेड-सुरक्षित सूची रखना था धागे द्वारा पॉप-ऑफ बंद लेकिन अभी तक संसाधित नहीं किया गया है।
थोड़ी देर के बाद, मैंने एक विशेष पी-सी कतार के पक्ष में कक्षा का उपयोग बंद कर दिया, जिसमें कोई विशेष शट डाउन तंत्र नहीं था।
अक्सर आप प्रकार 'T' की एक विशेष मूल्य का उपयोग करना चाहते हैं, यह' QuitMessage' या कुछ और कहते हैं। लेकिन संभवतः आप इसे उच्च स्तर पर प्रोटोकॉल को परिभाषित करने के लिए निर्माता और उपभोक्ता को छोड़ने के बजाय, प्रकार के बावजूद कतार में स्वयं बनाना चाहते हैं? –
@ स्टेवजेसॉप: हां। मैं इसे सामान्य बनाना चाहता हूं। विशेष मूल्य का विचार अच्छा प्रतीत नहीं होता है। कुछ विशेष मूल्य कुछ 'टी' के लिए मान्य मान हो सकता है, या मेरी भावना कहती है कि यह अच्छा नहीं है। – Nawaz
मैं प्रस्ताव दे रहा हूं कि निर्माता विशेष मूल्य का चयन और दस्तावेज करता है। यदि वे एक ऐसे मान का उपयोग करते हैं जिसका एक और अर्थ भी है, तो वे शायद बेवकूफ या कुछ हैं। –