एक बिंदु जो मौजूदा उत्तरों में नहीं बनाया गया है यह है कि एक बच्चे की प्रक्रिया को हैंडल प्राप्त करने की अनुमति न केवल बाल प्रक्रिया को प्रभावित करती है; यह ऑब्जेक्ट के जीवनकाल को भी प्रभावित कर सकता है जिस पर हैंडल संदर्भित करते हैं। यदि माता-पिता की प्रक्रिया निकलती है, तो बच्चे की प्रक्रिया में हैंडल वस्तु को जीवित रखेगी।
जब बच्चे की प्रक्रिया को संभालने की अनुमति मिलती है तो आपको यह समझना चाहिए कि क्या इसका परिणाम किसी ऑब्जेक्ट से अधिक समय तक जीवित रहना चाहिए; उदाहरण के लिए, कुछ एप्लिकेशन केवल एक ही समय में एक उदाहरण को चलाने की अनुमति देना चाहते हैं, और ऐसा हो सकता है कि किसी दिए गए नाम के साथ ईवेंट ऑब्जेक्ट बनाकर और यह देखकर कि यह पहले से मौजूद है या नहीं। अगर वे एक ऐसी बच्ची प्रक्रिया बनाते हैं जो उस घटना वस्तु को विरासत में ले लेता है, और माता-पिता से बाहर निकलता है, तो इसका परिणाम झूठा सकारात्मक हो सकता है।
अधिकतर, फ़ाइल में विरासत वाले हैंडल के परिणामस्वरूप फ़ाइल उपयोग में शेष (और इसलिए पहुंच योग्य) हो सकती है।जब तक कि वे विशेष रूप से विरासत में मिला होने की जरूरत है
दूसरी ओर, इस कभी कभी उपयोगी हो सकता है; उदाहरण के लिए, यदि आप बच्चे प्रक्रिया को मूल प्रक्रिया के उदाहरण के रूप में गिनने के लिए, या एक फ़ाइल के लिए अनुपलब्ध रहने के लिए जब तक बच्चे बाहर नहीं निकलता है। एक और चाल यह है कि एक बच्चे को एक नामित वस्तु के लिए एक हैंडल प्राप्त करना होता है और फिर यह निर्धारित करने के लिए वस्तु का अस्तित्व या अस्तित्व का उपयोग होता है कि यह निर्धारित करने के लिए कि क्या बच्चा अभी भी जिंदा है या नहीं, प्रक्रिया संभाल या प्रक्रिया आईडी को पास किए बिना।
स्रोत
2015-01-28 06:04:54
लेकिन क्या यह सच नहीं है कि प्रत्येक प्रक्रिया में इसकी स्वयं की हैंडल टेबल है? क्या इसका मतलब यह होगा कि यदि विरासत का उपयोग किया जाता है, तो पूरी संभाल तालिका को नई प्रक्रिया में कॉपी किया जाता है? क्या यह कुछ विशिष्ट वस्तुओं के लिए कुछ बार OpenXxx को कॉल करने से धीमा नहीं है? – bkausbk
@bkausbk: यदि आप अनामित हैं तो आप ऑब्जेक्ट नहीं खोल सकते हैं। – wj32