c++ - 将 boost::lockfree 与 c++11 线程支持库一起使用是否安全?

标签 c++ multithreading boost c++11 lock-free

我目前有一个使用 C++ 11 线程支持库编写的代码:http://en.cppreference.com/w/cpp/thread

我想知道将该代码与 boost::lockfree 混合是否安全。 http://www.boost.org/doc/libs/1_54_0/doc/html/lockfree.html

也就是说,我希望多个 C++11 std::threads 并发访问 boost::lockfree::queue。也许用 boost::thread 替换 C++11 线程会更安全,但如果我可以最大限度地减少代码更改,那就太好了。

最佳答案

我目前正在使用无锁队列和 std::thread 自己开发线程池实现,但是我使用的是 Joe Seigh 原子队列算法而不是 boost 版本。我看不出为什么 boost 版本不好,我已经检查了源代码,对我来说这似乎是一个很好的实现。

关于c++ - 将 boost::lockfree 与 c++11 线程支持库一起使用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706142/

相关文章:

Python - 导入 C++ 模块接口(interface) - 无法打开共享对象文件

c++ - struct 和 int 之间的 clang 重新定义不一致

c++ - 在 C/C++ 中获取大的随机数

c++ - boost spirit : combining preparsing with keyword parser and with Nabialek trick

multithreading - boost:thread - 编译器错误

multithreading - `_dispatch_barrier_sync_f_invoke`和 `_dispatch_barrier_sync_f_slow`有什么作用?

c++ - C/C++ 中的正则表达式

c++ - 如何分离 `QObject` 的父子关系的关注点,例如与其他所有者互操作?

java - 进程 p = Runtime.getRuntime().exec() 将异步运行?

java多线程死锁