У меня есть следующий сценарий: у меня есть один поток, который должен заполнить
контейнер с парами целых чисел (по сути, описания задач), и у меня есть большой
количество рабочих потоков (8-16), которые должны взять элементы из этого контейнера и выполнить
некоторая работа.
Я думал, что проблему можно легко решить с помощью очереди блокировки - например, при удалении элементов потоки синхронизируют доступ к очереди и спят, если нет доступных данных.
Я (возможно, ошибочно) предположил, что нечто подобное должно существовать в STL или в boost, но я не смог ничего найти.
Должен ли я сам реализовать это? Кажется, такой распространенный сценарий ...