【问题标题】:C++ multithreading today with a fluid situation for C++ 11 - book suggestions [closed]今天的 C++ 多线程与 C++ 11 的流动情况 - 书籍建议 [关闭]
【发布时间】:2012-12-22 06:35:51
【问题描述】:

经过大量的搜索和一些尝试和失败,我总结了一些事情,这就是结果:

  • C++ 11 线程模型尚未准备好用于 GCC(基于 g++ 4.7)或 Clang(来自最新的 svn rev.)-(目前最先进的 2 个编译器)-Clang 甚至没有一个完整的 libcxx 库,它仅适用于 Mac OS。
  • C++ 11 下的标准线程库非常基础,例如,互斥锁不提供高级功能,例如 boost::thread 提供的“基于范围的锁(适用于 RAII)”
  • boost::thread 可以被认为是 Posix 线程库的一个包装器,或者如果你愿意的话,是一种进化,所以实际上线程库并没有真正的选择,它们并没有那么不同,它们更像是上一个。

现在我在问,如果是这种情况,我应该从哪里开始?

例如this book,它显然面向 C++11 标准线程库,它为您提供了基础知识,但您可能永远不会在现实生活中使用它,因为 C++11 线程支持仍然不支持在最流行的编译器中很好,但在功能方面确实很差。

我认为公平地说,从boost::thread 开始,这是当今世界的一个不错的选择——如果我错了,请纠正我——而且它也是多平台支持和旧版支持的唯一真正选择C++ 03:我的问题是,我真的找不到一本关于并发和多线程的书或参考书看起来恰到好处,或者对于boost:thread 来说已经足够了。

你能推荐一本从并发和boost::thread开始的书吗?

【问题讨论】:

  • 对于基于作用域的锁定,C++11中有std::lock_guard
  • @jogojapan 啊!奇怪的命名空间组织...顺便感谢您的提示。
  • 请记住,C++ Concurrency in Action 一书的作者 Anthony Williams 编写了 boost 线程库,以尽可能接近 C++11提案(他也参与其中)。 C++11 线程和 boost 线程非常相似。你仍然会从那本书中学到很多东西。
  • @SeanCline 问题是它们有多大不同,问题是对 C++ 11 的支持水平可能会在 1 年后非常好,而我从今天开始。

标签: c++ concurrency c++11 pthreads boost-thread


【解决方案1】:

如果您正在寻找提升线程的入门者,请查看question。我个人是从here 开始的。当然还有boost documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    相关资源
    最近更新 更多