जावा 8 के तहत रोकने के लिए Thread
को मजबूर करने का कोई तरीका है, अब Thread.stop
हटा दिया गया है? इसमें लॉक/सिंक्रनाइज़/नींद/प्रतीक्षा/अनंत लूप रोकने के लिए प्रतीक्षा थ्रेड को मजबूर करना शामिल है। जबकि वहाँ की प्रबल संभावना है -जावा 8 में Thread.stop() के लिए वैकल्पिक?
इस आवेदन के लिए एक प्रहरी का हिस्सा है जो अगर यह /जमे हुए गतिरोध है बल मार धागे का पता लगा सकते हैं, और फिर वर्तमान स्थिति को सहेज खो जानकारी से बचने के लिए के रूप में करना है थ्रेड को रोकने के लिए मजबूर होने के कारण यह जानकारी भ्रष्ट हो रही है, तो इसे खोने से संभावित रूप से गलत जानकारी की एक प्रति होना बेहतर है।
लॉक अप थ्रेड को रोकने के बिना इस जानकारी को सहेजने का प्रयास करना असंभव है, क्योंकि इसे सहेजने के लिए इसे ताले हासिल करने की आवश्यकता होगी।
क्या आप इसे [शटडाउन हुक] (http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html# के साथ कर सकते हैं addShutdownHook% 28java.lang.Thread% 29) एक वीएम के भीतर गलत व्यवहार धागे की पहचान करने की कोशिश करने के बजाय एक सिगक्विट के जवाब में कोर डंप करने के लिए? –
मेरा मतलब है, वास्तविक जवाब यह है: कोड को ठीक करें जो समस्याएं पैदा कर रहा है जिससे आपको धागे को मारने की आवश्यकता होती है। –
'थ्रेड.स्टॉप' हटा दिया गया था? क्या अच्छी खबर है, यह कभी भी सबसे भयानक, बेकार तरीकों में से एक था। आपके मामले में: कोई भी डेटा को सहेजते समय ताले हासिल करने के लिए मजबूर नहीं कर सकता है - इसके लिए आपको कुछ निश्चित रूप से प्रतिक्रिया करने की आवश्यकता होगी और यह स्पष्ट रूप से त्रुटि प्रवण है, लेकिन फिर आप जो करने की कोशिश कर रहे हैं उसमें एक अंतर्निहित समस्या है। – Voo