关于C++20中std::jthread“正确移动语义”的疑问与澄清请求
关于C++20中std::jthread“正确移动语义”的疑问与澄清请求
最近我正在读《C++20 for Programmers An Objects-Natural Approach, 3rd Edition》这本书,看到里面有一段关于std::jthread特性的描述:
"Class jthread also fixes other problems with thread. In particular,
jthread supports cooperative cancellation (Section 17.9), supports
proper move semantics, and is an RAII type (discussed in Section
11.5) that correctly cleans up the resources it uses."
我现在正试图理解这里说的std::jthread支持“正确的移动语义”到底是什么意思。
我知道std::thread和std::jthread都支持移动语义,但如果作者提到的std::thread在对象离开作用域后不会自动join的问题属于RAII合规性的范畴,那这应该是RAII不符合的问题啊!有没有人能帮我澄清一下这里的“正确的移动语义”具体指什么?std::jthread又是如何处理移动操作,让它比std::thread的移动语义更“正确”呢?
备注:内容来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

