हमारे पास जावा एप्लिकेशन है जो अनुरोधों को संसाधित करता है। स्वाभाविक रूप से, धागे के साथ एक थ्रेड पूल होता है जिसमें "प्रोसेसर -1", "प्रोसेसर -2" जैसे कुछ महत्वहीन नाम होते हैं। हम सोच रहे हैं कि हर बार प्रसंस्करण धागे का नाम बदलने का अच्छा विचार है जो इंगित करेगा कि कौन सा अनुरोध संसाधित किया जा रहा है।जावा में प्रोसेसिंग थ्रेड के नामों को गतिशील रूप से बदलने का अच्छा विचार है?
मुझे एहसास है कि इसके बारे में कुछ गलत है, लेकिन एक अच्छे कारण के बारे में नहीं सोच सकता। मैं थ्रेड डंप से बहु-थ्रेडिंग मुद्दों का विश्लेषण करने के कई मामलों को याद कर सकता हूं और यह जानना मेरे लिए बहुत महत्वपूर्ण था कि मैं लगातार दो डंप में एक ही धागा देखता हूं या नहीं। हालांकि, मुझे एहसास हुआ कि मैं इसके बजाय थ्रेड आईडी देख सकता हूं। Log4j लॉग में थ्रेड नाम लिखना एक आम प्रथा है और मुझे इसके द्वारा फ़िल्टर करने के कई मामलों को याद है। लेकिन फिर भी मुझे यकीन नहीं है कि मेरे यहां एक अच्छी "रक्षा की रेखा" है।
सामान्य अभ्यास क्या है? क्या धागे का नाम बदलना अच्छा विचार है?
Renaming Threads in Java या Should threads in Java be named for easier debugging? जैसे संबंधित प्रश्न हैं लेकिन वे इस विशिष्ट समस्या को संबोधित नहीं करते हैं।
Thread.getId वास्तव में अच्छा है। जैसा कि आप फिट देखते हैं, धागे का नाम बदलें, जानकारी पूरी तरह से डिबगिंग के लिए है और यह सिर्फ थ्रेड क्लास में 'char [] name' फ़ील्ड है। – bestsss
यह ठीक करने के लिए डिबगिंग के लिए है, अन्यथा – MeBigFatGuy
@MeBigFatGuy नहीं, अलग-अलग डिबगिंग/प्रोफाइलिंग थ्रेड नामों का कोई उद्देश्य नहीं है (और आंतरिक रूप से उपयोग नहीं किया जाता है) – bestsss