Я хочу реализовать шаблон Производитель - Потребители, используя ThreadPool для Потребителей. У меня будет 1 производитель запросов и несколько потребителей, которые будут обрабатывать входящие запросы. При реализации потребителей, использующих пул потоков, у меня возникает вопрос, должна ли у меня по-прежнему быть собственная очередь, в которую производитель должен поместить запросы, а затем передать их в Cosumers ThreadPool, или если мне просто нужно, чтобы производитель передал ее прямо в очередь ThreadPool?
Меня беспокоит последнее: сколько задач можно передать в очередь ThreadPool и с какой скоростью? Производитель должен довольно быстро выполнить некоторую работу по предварительной обработке, прежде чем передать ее потокам потребителя.
Не получу ли я больше контроля, когда у меня будет очередь между источником - потоком потребителя?
Это для серверного приложения, которое должно быть высокопроизводительным и должно обрабатывать множество входящих клиентских запросов. (Сотнями за раз).
Любой совет приветствуется!