当需要获取线程号时,通过系统接口gettid,编译会出现如题的错误。
看一下gettid接口的解释:

意思是:系统不提供gettid接口的调用,需要通多syscall的方式获取线程ID。
方式:syscall(SYS_gettid)
对于线程ID有两个概念需要区分:
1、一个是创建线程时,返回的pthread_t
2、通过这种方式得到的线程ID
详细请参考:
【Linux】获取线程ID方法_sidemap的博客-优快云博客thread
https://blog.youkuaiyun.com/sidemap/article/details/125151548?spm=1001.2014.3001.5501
在Linux环境中,通过系统调用gettid无法直接获取线程ID,需要使用syscall(SYS_gettid)来获取。这篇博客介绍了gettid接口的缺失以及如何通过syscall获取线程ID。同时,区分了创建线程时返回的pthread_t和通过syscall获取的线程ID两种不同的线程标识方式。
689

被折叠的 条评论
为什么被折叠?



