2012-04-26 10 views
5

का उपयोग कर किसी को कृपया मामले में कुछ समाधान कर सकते हैं सुझाव मैं एक थ्रेड प्रारंभ विधिकैसे स्टैकट्रेस

उदाहरण के लिए

की बुला वर्ग के नाम पाने के लिए अगर मैं में कोई थ्रेड प्रारंभ चाहते एक थ्रेड के शुरू होने से विधि की बुला वर्ग के नाम को खोजने के लिए मुख्य स्टैक ट्रेस कॉलिंग क्लास नाम को इंडेक्स 2 के लिए चलाने के रूप में थ्रेड और कॉलर विधि नाम के रूप में कॉल करता है। कृपया कॉलर क्लास के सही नाम और थ्रेड के विधि नाम को खोजने में सहायता करें।

+2

क्या समस्या आप स्टैक ट्रेस वस्तु का उपयोग कर कॉल करने में जानकारी प्राप्त करने के साथ हो रही है? –

+2

जहां तक ​​मुझे पता है, ऐसा करने का कोई तरीका नहीं है। यह रिकॉर्ड नहीं किया जा रहा है। आप संभवतः पैरेंट थ्रेड को ढूंढ सकते हैं, लेकिन इसका अभी भी मतलब नहीं होगा कि आपको 'थ्रेड.स्टार्ट' नामक कोड की रेखा मिल जाएगी। –

उत्तर

1

ऐसा लगता है कि आप कई धागे फैलाने वाले कार्यों को बांधने की कोशिश कर रहे हैं। यदि आप सीधे धागा शुरू कर रहे हैं तो सबसे अच्छा है कि आप इसे कन्स्ट्रक्टर में एक नाम दें, फिर नए थ्रेड के नाम के साथ कॉलिंग क्लास और विधि नाम लॉग करें। लेकिन अगर आप ExecutorService का उपयोग करते हैं तो यह काम नहीं करेगा।

अधिक आम तौर पर आप नेस्टेड नैदानिक ​​संदर्भ का उपयोग कर आप मल्टी-थ्रेडेड संचालन समझौता करने की अनुमति के लिए जाँच करनी चाहिए: Logging activities in multithreaded applications

संबंधित मुद्दे