Num*_*our 26 c++ multithreading cross-platform c++11
我正在寻找一些易于使用的用C++编写的跨平台线程库.
什么是你的意见boost::thread还是Pthreads?Pthreads是否仅在符合POSIX标准的系统上运行?
Qt库中的线程支持怎么样?
Kla*_*aim 33
Boost.Thread是即将推出的C++语言标准线程库的草案.知道这一点,我更喜欢使用它,因为它提供了一些强有力的保证(因为它成为标准).
更新:现在我们有了标准的线程库,还有更多的精度.一些boost构造,如boost :: shared_mutex,尚未标准化(但可能会在以后).然而,标准库更好地利用了移动语义.选择图书馆之前很高兴知道.此外,使用C++ 11线程库需要一个提供它的编译器.今天的所有编译器都不是这样.
更新:现在[Nov2012]大多数标准编译器都提供C++ 11线程库.VS2012,GCC4.8和Clang3.1支持线程和同步原语以及原子操作.对于完整的实现,您也可以使用Anthony Williams的线程.它是Windows/Mac和Linux上支持的C++ 11兼容库.
各种编译器的C++ 11功能的链接:
C++ 11附带了一个线程库.它建立在boost线程库之上.不幸的是,我似乎记得Boost.Threads和C++ 11附带的东西之间存在非平凡的差异.不过,如果您打算切换到C++标准线程库,我相信Boost.Threads是您现在最接近的.
我想,在这个引擎盖下,这些库将在POSIX系统上使用Pthreads,并且在其他地方可以使用任何本机线程支持.
免责声明:我没有与两者中的任何一个合作过.