में धागे को विशिष्ट रूप से पहचानने के लिए कैसे मैं JVMTI एजेंट पर काम कर रहा हूं और मैं विधि प्रविष्टि और बाहर निकलने पर एक ही थ्रेड की पहचान करना चाहता हूं। मैं थ्रेड नाम प्राप्त करने में सक्षम हूं, लेकिन यह पर्याप्त नहीं है।jvmti
कल्पना कीजिए कि आप इस तरह की एक विधि है:
public class Main {
public static void myMethod() {
System.out.println("doing something as " + Thread.currentThread().getName());
Thread.currentThread().setName("SomethingDifferent");
System.out.println("doing something as same thread " + Thread.currentThread().getName());
}
}
तो इस विधि में प्रवेश एक नाम होगा और इस थ्रेड बाहर निकलने अलग नाम है।
इस तरह JVMTI का उपयोग करते समय:
static void JNICALL callback_on_method_entry(jvmtiEnv *jvmti, JNIEnv* env,
jthread thread, jmethodID method)
{
...
(*jvmti)->GetThreadInfo(jvmti, thread, &info);
...
}
static void JNICALL callback_on_method_exit(jvmtiEnv *jvmti, JNIEnv *env, jthread thread, jmethodID method, jboolean was_popped_by_exception, jvalue return_value)
{
...
(*jvmti)->GetThreadInfo(jvmti, thread, &info);
...
}
प्रत्येक info
अलग धागा नाम रिपोर्ट करेंगे और मैं उनके लिए एक ही पहचानकर्ता करना चाहते हैं।
मैं थ्रेड के लिए समान पहचानकर्ता कैसे प्राप्त कर सकता हूं?
एक समाधान संदर्भित Thread
(tid
) के फील्ड मान प्राप्त करने के लिए हो सकता है। यह कैसे करें? मैं ढेर के माध्यम से फिर से शुरू कर सकता हूं लेकिन मुझे फ़ील्ड का नाम नहीं मिल सकता है।
... क्या कोई प्रश्न कहीं छिपा हुआ है या क्या आप बस अपने अनुभव साझा करना चाहते हैं ?? – specializt
आपको शीर्षक को देखना होगा। लेकिन निश्चित रूप से मैंने लेख में प्रश्न जोड़े। – czs
कोई सवाल नहीं है, यह एक बयान है। इसके अलावा: आपकी सामग्री के अंदर अपने वास्तविक प्रश्नों को पूरी तरह से बाहर करने के लिए आपको बिल्कुल शून्य उत्तर प्राप्त करने की गारंटी है। यह किसी प्रकार का ब्लॉग या फोरम नहीं है, लोग मदद करना चाहते हैं लेकिन ऐसा करने से इनकार करते हैं यदि आप एक साधारण प्रश्न भी इकट्ठा नहीं कर सकते हैं .... अधिकांश समय – specializt