2011-08-12 52 views

回答

0

我认为你正在寻找gettid()

pthread_self() man page说明:由pthread_self()返回的线程ID是不一样的东西通过调用返回gettid(2)内核线程ID。你打印的东西看起来像一个pthread ID。

+0

我知道我可以使用pthread调用来获取* current * tid,但问题是我实际上使用的库是返回它管理的线程的RWThreadId,我无法访问,所以这就是为什么我试图从一种类型的线程ID转换为基于Linux的普通Linux。 – naumcho

+0

pthread id和内核线程ID是两个不同的实体。您似乎可以访问前者,但希望访问后者。据推测RogueWave为您提供了一些方法来指定将在线程中运行的函数/方法。您需要在该方法中放置gettid()以返回内核标识或至少将其显示在日志中。如果你在说线程正在运行一些你不能改变的库代码,那么你可能确实是SOL。 – Duck