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

use*_*077 15 c++ multithreading boost

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

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

谢谢!

Edd*_*tes 17

如果您尚未在项目中使用boost,则没有理由使用boost :: thread来支持std :: thread.除非你使用STL中没有的boost功能.std :: thread适用于大多数用例,除非提供令人信服的参数,否则编写标准代码总是更可取的.

但是,如果您已经在项目中使用了boost,请检查boost :: thread是否提供了与std :: thread相比更多的东西.

  • 我发现在升级版本之上使用编译器标准库的版本更倾向于编译器的一个原因是编译器可以更加优化平台,其中boost必须与许多平台和供应商兼容.其中一个例子就是`shared_ptr <>` - 这个提升器吸引了大量的标题,其中Visual Studio 2008只引入了几个标题,当我们切换到它时,它对我们的构建时间产生了显着的积极影响. (2认同)