首页 > 解决方案 > c++20 中的 std::jthread 是什么?

问题描述

  1. 它提供了哪些优势std::thread
  2. 它会否决现有的std::thread.

标签: c++multithreadingc++20

解决方案


std::jthread就像std::thread,只有没有愚蠢。看,std::thread的析构函数会终止程序,如果你没有join事先手动分离或分离它。这导致了大量的错误,因为人们期望它加入破坏。

jthread解决这个问题;它默认加入销毁(因此名称:“加入线程”)。它还支持一种要求线程停止执行的机制,尽管没有强制执行(又名:你不能另一个线程停止执行)。

目前,没有计划弃用std::thread.


推荐阅读