std::thread::get id
提供: C++入門
2014年1月18日 (土) 00:55時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「std::thread::get_id とは、std::threadのスレッドのスレッド識別子(スレッドID, std::thread::id型)を返します。 '''読み方''' ;[[std::t...」)
スポンサーリンク
std::thread::get_id とは、std::threadのスレッドのスレッド識別子(スレッドID, std::thread::id型)を返します。
読み方
- std::thread::get_id
- えすてぃーでぃー すれっど げっと あいでぃー
概要
スレッド側でスレッドIDを取得するには、std::this_thread::get_id()を使用します。
std::thread::get_id()の例
ソースコード std_thread_get_id1.cpp
#include <iostream> #include <thread> #include <exception> using namespace std; void do_worker1 () { for (int i = 0; i < 5; i++) { std::cout << __PRETTY_FUNCTION__ << std::endl; std::this_thread::sleep_for(std::chrono::milliseconds(10)); } } void do_worker2 () { for (int i = 0; i < 5; i++) { std::cout << __PRETTY_FUNCTION__ << std::endl; std::this_thread::sleep_for(std::chrono::milliseconds(10)); } } int main (int argc, char *argv[]) { try { #if 0 std::thread t1; std::thread t2; #endif std::thread t1(do_worker1); std::thread t2(do_worker2); cout << t1.get_id() << endl; cout << t2.get_id() << endl; t1.join(); t2.join(); } catch (std::exception &ex) { std::cerr << ex.what() << std::endl; } return (0); }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 std_thread_get_id1.cpp -o std_thread_get_id1
実行例
% ./std_thread_get_id1 void do_worker1()void do_worker2() 0x28404900 0x28404c00 void do_worker1() void do_worker2() void do_worker1() void do_worker2() void do_worker1() void do_worker2() void do_worker1() void do_worker2()
関連項目
関数 | 説明 |
---|---|
メンバ関数 | |
std::thread::thread | コンストラクタ。threadオブジェクトを作成します。 |
std::thread::~thread | スレッドがjoinかdetachされている必要があります。スレッドオブジェクトを破棄します。 |
std::thread::operator= | スレッドオブジェクトをmoveします。 |
オブザーバー | |
std::thread::joinable | スレッドが合流可能であるかチェックします。 |
std::thread::get_id | スレッドのIDを返します。 |
std::thread::native_handle | スレッドハンドルを返します。 |
std::thread::hardware_concurrency | 実装によってサポートされる同時スレッド数を返します。 |
操作 | |
std::thread::join | スレッドの終了を待ちます。 |
std::thread::detach | スレッドハンドルから独立して実行するスレッドを許可します。 |
std::thread::swap | スワップ |
非メンバ関数 | |
std::swap | スワップ |
カレントスレッドの管理 | |
std::this_thread::yield_id | 処理系に再スケジュールの機会を与えます。 |
std::this_thread::get_id | スレッドIDを返します。 |
std::this_thread::sleep_for | 指定した時間、現在のスレッドの実行を停止します。 |
std::this_thread::sleep_until | 指定した時刻まで、現在のスレッドの実行を停止します。 |
ツイート
スポンサーリンク