std::stop_callback

< cpp‎ | thread
 
 
线程支持库
线程
(C++11)
(C++20)
(C++20)
stop_callback
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
互斥
(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)
 
 
定义于头文件 <stop_token>
template< class Callback >
class stop_callback;
(C++20 起)

stop_callback 类模板提供对关联的 std::stop_token 对象注册回调函数的 RAII 对象类型,使得将在 std::stop_token 的关联 std::stop_source 被请求停止时调用回调函数。

在对该 stop_callback 的关联 std::stop_tokenstd::stop_source 成功调用 request_stop() 的同一线程调用经由 stop_callback 构造函数注册的回调函数;或若在构造函数的注册前已请求停止,则在构造 stop_callback 的线程调用回调函数。

能在同一或不同线程同时对同一 std::stop_token 创建多于一个 stop_callback 。不提供对执行它们所用顺序的保证,但将同步调用它们;除了对已对 std::stop_token 请求停止后构造的 stop_callback 如前述。

若调用的回调经由异常退出,则调用 std::terminate

std::stop_callback可复制构造 (CopyConstructible) 可复制赋值 (CopyAssignable) 可移动构造 (MoveConstructible) 亦非可移动赋值 (MoveAssignable)

模板形参 Callback 类型必须为 invocabledestructible 。忽略任何返回值。

成员类型

 
类型 定义
callback_type Callback

成员函数

构造新的 stop_callback 对象
(公开成员函数)
析构 stop_callback 对象
(公开成员函数)
operator=
[被删除]
stop_callback 不可赋值
(公开成员函数)

推导指引

示例