最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

type-alias
<thread>

# std::jthread::id(C++20)

    namespace std {
      class jthread {
      public:
        using id = thread::id;
      };
    }

## 概要

スレッド識別子。`std::thread::id`の別名。

実行のスレッドに対して一意な`thread::id`が対応づけられる。デフォルト構築された`id`はいかなるスレッドとも対応付けられない（ポインタ型における`nullptr`のようなもの）。

終了したスレッドを表す識別子の値は、再利用される可能性がある。

## 例

    #include <iostream>
    #include <thread>

    int main()
    {
      std::jthread {[]{
        const std::jthread::id background_tid = std::this_thread::get_id();
        std::cout << "background=" << background_tid << std::endl;
      }};

      const std::jthread::id main_tid = std::this_thread::get_id();
      std::cout << "main=" << main_tid << std::endl;
    }

### 出力例

    background=140029246985984
    main=140029246990144

## バージョン

### 言語

- C++20

### 処理系

- Clang:
- GCC: 10.2.0 ✅
- Visual C++: ??