std::stop_token::stop_possible

来自cppreference.com
< cpp‎ | thread‎ | stop token
 
 
并发支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中弃用)
(C++11)(C++20 中弃用)
原子操作的自由函数
原子标志的自由函数
内存序
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
 
 
[[nodiscard]] bool stop_possible() const noexcept;
(C++20 起)

检查 stop_token 对象是否拥有关联状态,而该状态已被请求停止或拥有关联的 std::stop_source 对象。

默认构造的 stop_token 无关联停止状态,从而不能请求停止;若未作出停止请求,则不存在 std::stop_source 对象的关联停止状态亦不能请求停止。

参数

(无)

返回值

stop_token 对象无关联停止状态,或仍未收到停止请求且无关联的 std::stop_source 对象则为 false ;否则为 true

注解

stop_token 拥有关联停止状态且已作出停止请求,则此函数仍返回 true

stop_token 对象拥有来自 std::jthread 的关联停止状态——例如 stop_token 是通过在 std::jthread 对象上调用 get_stop_token() 取得的——则此函数始终返回 truestd::jthread 始终拥有内部的 std::stop_source 对象,即使该线程的调用函数不检查它。

示例