如何从RWThreadId获取linux线程id?
在 RW 文档 中,建议使用 rwThreadHash 获取用于调试的 threadId,但这仍然与线程上的实际 linux 线程 id 不匹配。知道如何获取它(不一定以便携式方式)吗?
cout << rwThreadHash(threadId()) << endl;
1477159840
In the RW documentation it advises to use rwThreadHash to get the threadId for debugging but that still doesn't match the actual linux thread id on a thread. Any idea how to get it (not necessarily in a portable way)?
cout << rwThreadHash(threadId()) << endl;
1477159840
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您正在寻找 gettid()
来自 pthread_self() 人页注释:
pthread_self()
返回的线程 ID 与调用 gettid(2) 返回的内核线程 ID 不同。您打印出来的内容看起来像 pthread id。I think you are looking for gettid()
From the pthread_self() man page notes: The thread ID returned by
pthread_self()
is not the same thing as the kernel thread ID returned by a call to gettid(2). What you are printing out looks like a pthread id.