c++ - C++ 中是否有任何跨平台线程库?

标签 c++ multithreading c++11 cross-platform

我正在寻找一些用 C++ 编写的易于使用的跨平台线程库。

您对 boost::threadPthreads 有何看法? Pthread 是否仅在符合 POSIX 的系统上运行?

Qt 库中的线程支持怎么样?

最佳答案

Boost.Thread 是即将到来的 C++ 语言标准线程库的草案。知道这一点,我更喜欢使用它,因为它提供了一些强有力的保证(因为它已成为标准)。

更新:现在我们有了标准线程库,精度更高了。一些 boost 构造,例如 boost::shared_mutex,尚未标准化(但可能会在以后标准化)。然而,标准库更好地利用了移动语义。在选择图书馆之前很高兴知道。此外,使用 C++11 线程库需要提供它的编译器。今天并非所有编译器都是如此。

更新: 现在 [Nov2012] 大多数标准编译器都提供 C++11 线程库。 VS2012、GCC4.8 和 Clang3.1 支持线程和同步原语以及原子操作。 对于完整的实现,您还可以使用 Anthony Williams 的 just thread。它是 Windows/Mac 和 Linux 上支持的 C++11 兼容库。

各种编译器的 C++11 功能状态链接:

关于c++ - C++ 中是否有任何跨平台线程库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2561471/

相关文章:

c++ - const/非常量对象指针的 union

c++ - 如何创建自定义 Eigen::Map 类具有非平凡的步幅

C++ Weird Diamond继承问题

C++ 右值和移动

c++ - boost::spirit 中的类与结构

python - 剪贴板内容改变时触发事件

java - java.util.UUID 线程安全吗?

java - 当您跳转到下一个 Activity 时如何销毁先前的 Activity

c++ - 使用 ctime 和 time_t 的输出差异

c++ - 为什么在这种情况下不调用我的 move 构造函数? (首先分配 r 值引用并创建对象)