gpt4 book ai didi

Android Ndk - 设置 C++ 线程的名称

转载 作者:行者123 更新时间:2023-12-02 02:40:53 30 4
gpt4 key购买 nike

我正在尝试使用 Android Profiler 分析我的代码。问题是命名我的 C++ 线程,我尝试使用:

pthread_setname_np(pthread_self(), "MyThread");

但它不显示指定的名称。如何在 Android 上命名我的 C++ 线程?

最佳答案

  1. 获取对 JavaVM 的引用:
JavaVM* jvm;
env->GetJavaVM(&jvm);
  • 在将线程附加到 JVM 时设置名称:
  • std::thread myThread([jvm](){
    JNIEnv* myNewEnv;
    JavaVMAttachArgs args;
    args.version = JNI_VERSION_1_6;
    args.name = "Fancy Thread";
    args.group = NULL;
    jvm->AttachCurrentThread((JNIEnv**)&myNewEnv, &args);

    while(1){
    // ....
    }

    });
  • 您现在将在 Android Studio 调试器中看到正确的线程名称。
  • 关于Android Ndk - 设置 C++ 线程的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50327631/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com