C++ std::this_thread::get_id() でスレッドの識別子を取得2020年09月30日 12時05分46秒

スレッドを生成するとそれぞれに識別子が与えられる。std::this_thread::get_id() で現在のスレッドの識別子が取得できる。
% cat thread_id.cpp
#include <thread>
#include <iostream>

void print( int n )
{
    std::cout << n << ' ' << std::this_thread::get_id() << std::endl;
}

int main()
{
    print( 0 );
    std::thread t( print, 1 );

    t.join();
}
コンパイルして実行した結果。スレッドライブラリを使うので -lptherad が必要になる。
% c++ -std=c++11 thread_id.cpp -lpthread
% ./a.out 
0 0x20762000
1 0x20762300
% ./a.out
0 0x20762000
1 0x20762300
上記の結果は FreeBSD で実行した結果。スレッドの識別子は環境依存なので他のアーキクチャでは実行結果の表示の仕方が異なる。

次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/09/30/9300683/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。