Используя томкат, на каждый реквест создаётся поток, верно?
Если в логике сервиса происходят вызовы несколько раз к api и эти вызовы логически можно выполнять параллельно, то лучше создать по thread'у на вызов api? И обработать результат в каждом этом треде? Так поступают? И ещё thread простаивает без работы, когда ожидает ответ от api? Если использовать RestTemplate для кола в api
Вызов рест темплейта блокирующий, твой поток будет ожидать ответа. Ответ на остальные вопросы очень зависит от задачи, которую ты решаешь. Но да, конечно делают какие-то "задачи" параллельно в разных потоках. Где обрабатывать результат тоже зависит.