2015-04-09 5 views
0

boost lock free queue - это новая вещь для меня, и я пытаюсь использовать бесплатную очередь блокировки boost в моем проекте. Но найти я не могу найти элемент или перебрать все элементы в очереди? Если я использую while (queue.pop (value)) для поиска элемента, очередь будет пустой. Есть ли какой-нибудь метод для поиска элемента в свободной очереди блокировки boost?Есть ли какой-либо метод для поиска в очереди без блокировки?

ответ

0

Концептуальная модель очереди push/pop. В этом смысле он похож на стеки, за исключением того, что порядок может быть не LIFO.

Итерация - это не функция, ни поиск.

(Сравните с std::queue<> container adaptor)

Для более lockfree контейнеров посмотреть на Intel TBB, MS PPL, LibCDS т.д.