翻译:How to name a thread in Linux?

Stack overflow地址:c++ - How to name a thread in Linux? - Stack Overflow


翻译:

我有一个用C/C++写的多线程程序。我为我的线程选择了名字(c# - Naming conventions for threads? - Stack Overflow),为了帮助调试,我想要这些名字在 GDB、top等中是可见的。这是可能的吗,如果可以应该怎么做呢?

(这里有很多要知道线程名称的原因(multithreading - Thread names--when do you need to know them? - Stack Overflow)。现在我想要知道那个线程占用了50%的CPU(top记录的)。并且在我调试的时候,经常需要切换不同的当前线程,我不得不使用“thread apply all bt”,然后看一整页的调试信息来找到正确的线程)。

Windows的解决方案在这(Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center),Linux的呢?


Answers1:

POSIX的线程?

这显然不能编译,但是可以给你一个大方向。我甚至不确定是不是正确的 PR_命令,但是我认为是。这是一段...

#include

  prctl(PR_SET_NAME," terminated string",0,0,0)


Answers2:

如果你使用像ACE的线程库的话,在创建新线程的时候有一个指定线程名字的方法。

BSD Unix也有 pthread_set_name_np的调用。

否则你可以使用 prctl像 Fusspawn提到的那样。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,235评论 25 709
  • 建议:先看《数字人C4D基础知识之十一:一张贴图搞定 》然后再读这篇,否则糊涂。 从MAXON官方网站获知...
    DIGITALMAN阅读 12,365评论 2 59
  • 7月31日日志 今天早晨开小组会东华助教给我布置了一个任务,我感觉助教是有意想伸展我在这块的不足,除了我们小组外我...
    zengkai1198阅读 1,045评论 0 0
  • 感恩 曾经一度陷入了困局中,就是樊登老师所讲的失意忘形的状态。 所以我遇到了吸引力法则,遇到了台湾的秋恺老师克服A...
    Zandra梓桐阅读 2,405评论 0 0
  • 晚上,又让儿子含着泪水睡去了。2个月前,从父亲确诊癌症开始,家里的气氛一下就变了。虽然父亲是个非常开朗坚强的...
    燕子grace阅读 1,211评论 0 1

友情链接更多精彩内容