命名空间
变体
操作

std::jthread::~jthread

来自 cppreference.cn
< cpp‎ | thread‎ | jthread
 
 
并发支持库
线程
(C++11)
(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++20)
(C++20)
期值
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
危险指针
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中已弃用)
(C++11)(C++20 中已弃用)
内存排序
(C++11)(C++26 中已弃用)
原子操作的自由函数
原子标志的自由函数
 
 
~jthread();
(C++20 起)

销毁 jthread 对象。

如果 *this 具有关联线程 (joinable() == true),则调用 request_stop(),然后调用 join()

[编辑] 注意

如果 jthread 之前已被请求停止,则 request_stop() 无效。

在以下情况下,jthread 对象不具有关联线程:

  • 它通过默认构造。
  • 它已从其他对象移动。
  • join() 已被调用。
  • detach() 已被调用。

如果 join() 抛出异常(例如,因为检测到死锁),则可能会调用 std::terminate()

[编辑] 示例

[编辑] 另请参阅

销毁线程对象,底层线程必须被 join 或 detach
(std::thread 的公共成员函数) [编辑]