मेरा जावा प्रोग्राम प्रोसेसबिल्डर का उपयोग करता है (रीडायरेक्ट एररस्ट्रीम सेट सत्य के साथ) और इसमें एक लूप है जो प्रक्रियाओं के इनपुटस्ट्रीम की रीड विधि को चलाता है, जो अवरुद्ध है। बाहरी प्रोग्राम जिसे मैं कॉल कर रहा हूं, इनपुट और स्टडीन के लिए प्रतीक्षा करने के लिए एक स्टॉप पर आता है। अब मैं प्रक्रिया को मारना चाहता हूं। क्या यह प्रक्रिया के विनाश विधि को बुलाकर (एक अलग धागे में) नहीं किया जाता है, और पढ़ने की विधि को अवरुद्ध करने से रोकने के लिए इनपुटस्ट्रीम की करीबी विधि को कॉल कर रहा है, ताकि मेरा प्रारंभिक धागा अपना जीवन समाप्त कर सके?जावा का इनपुटस्ट्रीम.क्लोज़() ब्लॉक क्यों करता है?
कुछ कारणों से process.getInputStream().close()
ब्लॉक। जावाडॉक से मैं नहीं देखता कि यह क्यों हो सकता है। इसके अलावा, मुझे समझ में नहीं आता है कि जावडोक कहता है कि "इनपुटस्ट्रीम की करीबी विधि कुछ भी नहीं करती है।" (link to javadoc) क्या कोई इसे समझा सकता है?
धन्यवाद :-)
क्या आप वाकई बाहरी प्रोग्राम के चलते ऐसा नहीं करते हैं? – Geo