Я думаю, что потоки производителя должны работать одновременно с потоками потребителя.Поэтому, если элементы не нужно сортировать и делать уникальными, достаточно будет указать простой concurrent_queue.
Если вам нужно только сделать их уникальными, вы можете использовать для этого tbb::concurrent_hash_map
.
Однако, если вы действительно хотите отсортировать элементы, вам нужно что-то вроде concurrent_set (упорядоченного), которое является довольно сложным и не существует в tbb.Поэтому, если вам действительно нужно отсортировать эти элементы, я бы предложил использовать простую блокировку, которую нужно получить для помещения элементов в ваш контейнер (например, std :: set) и для извлечения их из него.