次の小さなコード スニペットがあります。
int main()
{
pthread_t t = pthread_self();
std::cout << t << std::endl;
return 0;
}
ライブラリなしでg ++ 4.9.2を使用してLinuxでコンパイル+リンクすると、出力は次のようになります。
0
以下のように pthread とリンクすると:
g++ test.c -o test -lpthread; ./test
出力は次のとおりです。
139675118393152
-lpthreads とリンクすると、実際の POSIX スレッド ID からスレッド固有のインデックスへのマッピングを取得できますか? 使用するスレッド固有の値を持つグローバル配列が必要で、スレッド ID を配列インデックスとして使用する必要があり、139675118393152 を処理できません。たとえば、それを 1、2 などにマップする必要があります。