经过大量搜索和一些尝试和失败,我总结了一些事情,结果如下:
- C++ 11 线程模型它还没有准备好用于 GCC(基于 g++ 4.7)或 Clang(来自最新的 svn rev.)-(那里的 2 个最新的编译器)-Clang 甚至没有完整的 libcxx库,它仅适用于 Mac OS。
- C++ 11 下的标准线程库它真的很基础,例如互斥锁不提供高级功能,例如“基于范围的锁(适用于 RAII)”
boost::thread
。 boost::thread
可以被认为是 Posix 线程库的包装器或演变,因此实际上线程库没有真正的选择,它们并没有那么不同,它们更像是前一个的演变.
现在我在问,如果是这种情况,我应该从哪里开始?
例如这本书,显然是面向 C++11 标准线程库的,它为您提供了基础知识,但您可能永远不会在现实生活中使用它,因为 C++11 线程支持仍然不是很好。最流行的编译器,它在功能方面真的很差。
我认为公平地说,从boost::thread
它开始是当今世界的一个不错的选择——如果我错了请纠正我——它也是对 C++ 03 的多平台支持和遗留支持的唯一真正选择:我的问题是我真的找不到一本关于并发和多线程的书或参考书看起来恰到好处,或者它对于boost:thread
.
你能推荐一本从并发和开始的书boost::thread
吗?