Размер по умолчанию, конечно, равен нулю, то есть нет элементов в очереди. Но вы, вероятно, хотите знать емкость по умолчанию (т.е. предел). Справочное руководство TBB гласит, что
concurrent_bounded_queue <...> добавляет возможность указать емкость. Емкость по умолчанию делает очередь практически неограниченной.
А проверка исходного кода (src / tbb / concurrent_queue.cpp) дает следующую формулу для инициализации емкости по умолчанию:
my_capacity = size_t(-1)/(item_size>1 ? item_size : 2);
Что касается pipeline
или parallel_while
(обратите внимание, что последний устарел), это алгоритмы, а не контейнеры, и поэтому нельзя использовать для совместного использования данных между двумя потоками. Но в некоторых случаях использование pipeline
может заменить дизайн на основе потоков. Например, простой сценарий «производитель-потребитель» может быть заменен двухэтапным конвейером, в котором первый этап создает фрагмент данных и передает его на второй этап для обработки (потребления).