c++ 有什么理由使用std::thread而不是std::jthread?

mzmfm0qo  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(183)

所以C20引入了std::jthread,据我所知,它在各个方面都比std::thread好。因此,除了通常的限制,如C20的可用性,实现的质量,与库的交互,…- 是否有任何情况下std::thread是更好的选择?

arknldoa

arknldoa1#

std::jthread就像拥有std::stop_sourcestd::thread
C++是一种语言,它主要围绕着不必为你不使用的东西付费的概念而构建。
所以:如果你不需要一个std::stop_source,你应该更喜欢一个std::thread,这样你就不用花钱了。
即使你确实需要一个,你仍然可能不喜欢使用std::jthread,而把你的停止源放在其他地方,因为你可能会使用boost::intrusive_ptr而不是std::shared_ptr,即。能够管理数据本地性。

相关问题