Linux C プログラムで pthread のスレッド ID を取得するにはどうすればいいですか? 質問する

Linux C プログラムで pthread のスレッド ID を取得するにはどうすればいいですか? 質問する

Linux C プログラムで、pthread ライブラリによって作成されたスレッドのスレッド ID を印刷するにはどうすればよいでしょうか。たとえば、次のようにしてプロセスの pid を取得する方法などですgetpid()

ベストアンサー1

何ですか? Linux 固有の と同等のものを尋ねた人ですgetpid()。BSD でも Apple でもありません。答えは でありgettid()、整数型を返します。

#define _GNU_SOURCE
#include <unistd.h>
#include <sys/types.h>

....

pid_t tid = gettid();

これは Linux 以外のシステムには移植できないかもしれませんが、threadid は直接比較可能で、取得が非常に高速です。通常の整数のように印刷できます (LOG など)。

おすすめ記事