我应该更喜欢std::thread还是Boost线程

Should I prefer std::thread or Boost threads?

本文关键字:Boost 线程 还是 thread std 我应该 更喜欢      更新时间:2023-10-16

我是C++(来自C#)的新手,正在编写一个多线程C++应用程序,想知道使用std::thread或其Boost对应程序更好?

我在另一篇Stack Overflow帖子中看到了以下讨论,但仍然没有完整的图片说明为什么我应该选择一个而不是另一个。如果不启动新程序,我应该使用标准库还是Boost线程?

谢谢!

如果您的项目中还没有使用boost,那么就没有理由使用boost::thread来支持std::thread。除非您使用的是STL中不可用的boost功能。std::thread对于大多数用例来说已经足够合适了,除非有令人信服的论据,否则编写标准代码总是更可取的。

但是,如果您已经在项目中使用了boost,请检查boost::thread与std::thread:相比是否提供了额外的功能。

请记住,Boost.Thread是一个可移植库,可在各种平台/编译器上编译,包括std::Thread不可用的平台/编译器。

这实际上取决于你的习惯和偏好。。有了boost,你就有了一整套库,让你的生活更轻松,但它们需要安装在编译程序的系统上,而有了std线程,你只需要一个cpp编译器。