我有一个关于混合使用boost::threads和一些C++11标准项目的问题,这能行吗?我尚未测试任何内容,但我正在使用一个使用所有boost::threads和线程组以及中断功能的系统,这是标准库中没有的。我们的boost版本是1.50,没有最新的std::atomic和memory ordering stuff。我想知道是否可以在boost线程中使用std::atomic和std::memory ordering操作load/fetch_add等(acquire/release,relaxed),并获得与std::thread相同的结果。在我的linux机器上,这些都是在底层使用pthreads,因此我认为答案是可以混合使用。虽然如此,我只是想确认一下,并看看是否有人在混合使用boost::thread和std::thread api方面遇到兼容性问题。
std::async
是基于线程的,还有一些关于设计和实现的问题,比如std::future
的析构函数是阻塞的且设计不佳。可能有一些有用的东西,但我真的不认为有人能够通过它取得好的成果,而且在 C++14 中会有一些修改,这将影响到 C++11 的线程模型并带来不同的行为。 - user2485710