- 论坛徽章:
- 9
|
本帖最后由 wlmqgzm 于 2015-10-29 10:00 编辑
回复 9# fender0107401
这个我用了多年了. 记得大约6-12个月前看windoze的开源代码, 有几个队列, 里面一堆的锁, 然后给他回复, 粘贴了Boost手册上的例子, 没有被采纳,
另外, Boost手册 lock-free queue的例子有错误, 在直接拿来测试的时候, 编译应该不会通过, 要自己修改,
这个也是多数人实验, 就编译错误, 然后放弃这个库, 因此lock-free queue在国内使用不多的原因之一,
修改方法,参考我的三行代码. 里面要增补定义boost::lockfree::capacity<XXX>
#include <boost/lockfree/spsc_queue.hpp>
boost::lockfree::spsc_queue<unsigned int, boost::lockfree::capacity<65536> > closed_ip_queue;
closed_ip_queue.push( int_ip );
closed_ip_queue.pop( int_closed_ip )
还要加上检查返回值的代码 |
|