15

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

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

谢谢!

4

3 回答 3

17

如果您尚未在项目中使用 boost,则没有理由使用 boost::thread 来支持 std::thread。除非您使用的是 STL 中不可用的 boost 中的某些功能。std::thread 足够适用于大多数用例,除非提出令人信服的论据,否则编写标准代码始终是可取的。

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

于 2012-09-11T08:04:28.340 回答
3

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

于 2012-09-11T09:29:39.550 回答
0

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

于 2012-09-11T08:05:08.540 回答