名前空間
変種
操作

標準ライブラリヘッダ <thread>

提供: cppreference.com
< cpp‎ | header
 
 
 

このヘッダはスレッドサポートライブラリの一部です。

目次

インクルード

(C++20)
三方比較演算子サポート [edit]

名前空間

this_thread 現在のスレッドにアクセスする関数を提供します

クラス

(C++11)
別のスレッドを管理します
(クラス)[edit]
(C++20)
自動合流とキャンセルをサポートする std::thread
(クラス)[edit]
std::hash の特殊化
(クラステンプレートの特殊化)

関数

std::swap アルゴリズムの特殊化
(関数)[edit]
(C++20で削除)(C++20で削除)(C++20で削除)(C++20で削除)(C++20で削除)(C++20)
2つの thread::id オブジェクトを比較します
(関数)[edit]
thread::id オブジェクトをシリアライズします
(関数テンプレート)[edit]
名前空間 std::this_thread で定義
(C++11)
処理系にスレッドの切り替えを提案します
(関数)[edit]
(C++11)
現在のスレッドのスレッド id を返します
(関数)[edit]
(C++11)
指定された時間、現在のスレッドの実行を停止します
(関数)[edit]
指定された時刻まで現在のスレッドの実行を停止します
(関数)[edit]

[編集]概要

#include <compare>   namespace std {class thread;   void swap(thread& x, thread& y)noexcept;   // class jthreadclass jthread;   namespace this_thread { thread::id get_id()noexcept;   void yield()noexcept;template<class Clock, class Duration>void sleep_until(const chrono::time_point<Clock, Duration>& abs_time);template<class Rep, class Period>void sleep_for(const chrono::duration<Rep, Period>& rel_time);}}

[編集]クラス std::thread

namespace std {class thread {public:// typesclass id;using native_handle_type =/* implementation-defined */;   // construct/copy/destroy thread()noexcept;template<class F, class... Args>explicit thread(F&& f, Args&&... args); ~thread(); thread(const thread&)= delete; thread(thread&&)noexcept; thread& operator=(const thread&)= delete; thread& operator=(thread&&)noexcept;   // membersvoid swap(thread&)noexcept;bool joinable()constnoexcept;void join();void detach(); id get_id()constnoexcept; native_handle_type native_handle();   // static membersstaticunsignedint hardware_concurrency()noexcept;};}

[編集]クラス std::jthread

namespace std {class jthread {public:// typesusing id = thread::id;using native_handle_type = thread::native_handle_type;   // constructors, move, and assignment jthread()noexcept;template<class F, class... Args>explicit jthread(F&& f, Args&&... args); ~jthread(); jthread(const jthread&)= delete; jthread(jthread&&)noexcept; jthread& operator=(const jthread&)= delete; jthread& operator=(jthread&&)noexcept;   // membersvoid swap(jthread&)noexcept;[[nodiscard]]bool joinable()constnoexcept;void join();void detach();[[nodiscard]] id get_id()constnoexcept;[[nodiscard]] native_handle_type native_handle();   // stop token handling[[nodiscard]] stop_source get_stop_source()noexcept;[[nodiscard]] stop_token get_stop_token()constnoexcept;bool request_stop()noexcept;   // specialized algorithmsfriendvoid swap(jthread& lhs, jthread& rhs)noexcept;   // static members[[nodiscard]]staticunsignedint hardware_concurrency()noexcept;   private: stop_source ssource;// exposition only};}

[編集]クラス std::thread::id

namespace std {class thread::id{public: id()noexcept;};   bool operator==(thread::id x, thread::id y)noexcept; strong_ordering operator<=>(thread::id x, thread::id y)noexcept;   template<class charT, class traits> basic_ostream<charT, traits>& operator<<(basic_ostream<charT, traits>& out, thread::id id);   // hash supporttemplate<class T>struct hash;template<>struct hash<thread::id>;}
close