使用什么最佳做法:std :: thread,本机调用或某些库? std :: thread是'不实际使用 - 这个'的便利,还是应该在需要线程时使用?在c ++ 11出现之前,看起来有些线程库最适合移植性,但现在std :: thread是一个东西......
现在在主要项目中应该使用什么 - 就行业标准而言?
答案 0 :(得分:3)
经验法则:
否则:
在您的情况下,请参阅:
C++ 11 Thread vs Boost Thread is there any difference?
你注意到Boost线程有一些不在标准中的功能。如果需要,请使用Boost线程,否则使用std::thread
。
答案 1 :(得分:-2)
没有一个答案可以统治所有人。
TL; DR取决于
如果您想要最佳性能(可能是您使用c ++的原因之一),请使用原生呼叫。您可以完全控制包装类和检查的开销。
如果您需要可移植性并且支持c ++ 11 ,标准中的实施是一个不错的选择。大多数情况下,这个选项最容易开始并且拥有大部分资源。
目前提升重复了标准的功能。但如果编译器不支持c ++ 11 ,它仍然是可行的选择。在最新的几个版本中,相同的boost功能直接复制到标准中。(例如智能指针)