- thread[meta header]
- std[meta namespace]
- jthread[meta class]
- function[meta id-type]
- cpp20[meta cpp]
[[nodiscard]] stop_source get_stop_source() noexcept;- stop_source[link /reference/stop_token/stop_source.md]
停止要求を作成するためのstop_sourceオブジェクトを取得する。
メンバ変数として保持しているstop_sourceオブジェクトを返す。
送出しない。
#include <iostream>
#include <thread>
int main()
{
std::jthread t1 {
[](std::stop_token stoken) {
while (!stoken.stop_requested()) {}
std::cout << "exit t1 thread" << std::endl;
}
};
// 別スレッドを立てて、そのスレッドからt1スレッドに停止要求を発行する
std::jthread t2 {
[ssource = t1.get_stop_source()]() {
ssource.request_stop();
}
};
}- get_stop_source()[color ff0000]
- std::stop_token[link /reference/stop_token/stop_token.md]
- stop_requested()[link /reference/stop_token/stop_token/stop_requested.md]
- request_stop()[link /reference/stop_token/stop_source/request_stop.md]
exit t1 thread
- C++20
- Clang:
- GCC: 10.2.0
- Visual C++: ??