boost::lockfree::spsc_queue 用法
1.声明方式
boost::lockfree::spsc_queue<WaveCycle, boost::lockfree::capacity<1024>> spsc_queue;
其中 WaveCycle 是希望保存的类型 boost::lockfree::capacity<1024> 是队列的缓冲区大小
2.常用方法
2.1 push方法
// 将数据保存到队列中 // 返回一个bool值 表示是否插入成功 ClassName element; bool ans = spsc_queue.push(element);
注意: 一般返回false 是因为当前队列中元素超过定义时所给定的大小
2.2 pop方法
// 含有参数的pop方法,在pop对象时会将内容保存到传入的对象中,在进行删除 // 返回一个bool值,表示是否删除成功 ClassName element; bool ans = spsc_queue.pop(element); // 也可以直接删除 bool ans = spsc_queue.pop();
3. 元素数量
// 查看当前可读取的元素数量 size_t read_available=spsc_queue.read_available(); // 查看当前可存入的元素数量 size_t write_available=spsc_queue.write_available();

浙公网安备 33010602011771号