Что будет лучше А или Б по архитектуре/производительности (интересует последний пункт):
А. 1. один тред слушает сокет и помещает все принятые данные в очередь
2. данные извлекаются из очереди другим тредом и отдаются на обработку тредам из пула
3. каждый тред из пула после обработки данных отправляет ресультаты используя сокет (п.1) напрямую
Б. 1. один тред слушает сокет и помещает все принятые данные в очередь
2. данные извлекаются из очереди другим тредом и отдаются на обработку тредам из пула
3. каждый тред из пула после обработки данных помещает ресультаты в очередь для отправления
4. тред который принимает данные из очереди результатов и отправляет используя сокет из п.1