我应该更喜欢std::thread还是Boost线程
Should I prefer std::thread or Boost threads?
我是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编译器。
相关文章:
- BOOST线程:线程还是进程
- 如何解决传递给boost线程的函数中的歧义
- cpp 为什么 boost::线程内部的循环不遍历所有值并且推送相同的值?
- C 从类的构造函数运行Boost线程
- 重新分配独立的boost ::线程安全吗?
- Boost::线程如何在主线程和工作线程之间同步
- 链接Boost线程库
- BOOST ::线程内会成员功能调用返回unique_lock Instantiation错误
- Boost ::线程何时终止?如何管理Boost ::线程
- 链接到boost ::线程失败
- 在C 中处理Boost线程条件
- Poco任务管理器/Boost线程混合和匹配
- 创建一个 boost::线程 带有 boost::bind() 或不带
- 为不受支持的平台调整Boost线程/进程
- 删除boost ::线程后代
- 我需要在Boost线程功能中调用Unlock()
- C OPENCV图像在Boost线程中不显示
- boost ::线程在删除可加入线程时存在什么问题
- 增强异步插座和Boost ::线程
- 如何使boost ::线程入睡