Как я понимаю, вам нужно создать несколько дополнительных потоков, которые будут полезны, если, скажем, у вас есть 1 параллельный запрос, и вы разбиваете свою работу (которая занимает ~ 10 секунд) на несколько более мелких рабочих блоков, которые можно распараллелить и позже присоединился.
И вы обеспокоены тем, что это может фактически снизить производительность, если, например, у вас есть 100 одновременных запросов, поскольку у вас нет запасных ядер для распараллеливания каждого из этих 100 заданий.
Теоретически наименьшая нагрузка - это когда количество активных потоков равно количеству физических ядер. Поэтому вам нужно задать себе вопрос - каков ваш наиболее распространенный случай (сколько пользователей в системе?) И какую цену вы готовы заплатить, если количество пользователей достигнет максимума.
Во всяком случае, я полностью согласен с Тимом в том, что вы должны сравнивать, судить об этом теоретически практически невозможно. Например, ваши результаты могут быть совершенно другими, если ваша 10-секундная задача на 100% связана с ЦП, против 80% - с ЦП. Мера, не угадай .