我是C ++(来自C#)的新手,正在编写一个多线程C ++应用程序并想知道什么是更好用的:std::thread
或它的Boost对应物?
我在另一个Stack Overflow帖子中看到了following discussion,但仍然没有全面了解我为什么要选择其中一个。如果没有启动新程序,我应该使用标准库还是Boost线程?
谢谢!
答案 0 :(得分:17)
如果您尚未在项目中使用boost,则没有理由使用boost :: thread来支持std :: thread。这是除非你使用STL中没有提供的某些功能。 std :: thread适用于大多数用例,除非提供令人信服的参数,否则编写标准代码总是更可取。
如果您已经在项目中使用了boost,请检查boost :: thread是否提供了与std :: thread相比更多的东西。
答案 1 :(得分:3)
请记住,Boost.Thread是一个可移植的库,可以编译各种各样的平台/编译器 - 包括std :: thread不可用的那些。
答案 2 :(得分:0)
这取决于你的习惯和偏好。 通过boost,您可以使用一整套库,使您的生活更轻松,但是需要在编译程序的系统上安装它们,而使用std线程只需要一个cpp编译器。