ASP.NET является многопоточным.
Таким образом, новый поток используется для обработки каждого запроса страницы.
Все зависит от рабочей нагрузки данного процессора, если новый поток назначен другому CPU / Core.
Но все ваши ядра используются ASP.NET. Таким образом, ваше приложение никогда не ограничивается одним процессором.
Но реальный вопрос: какова ваша цель?
1] Вы просто боитесь, что ваши длительные операции будут зависать ASP.NET?
2] Или вы хотите сократить время выполнения вашего скрипта?
Если вы сделаете свою длинную страницу асинхронной, то каждый поток будет
немедленно возвращается в пул потоков ASP.NET, который резко увеличивается
производительность вашего сайта. Это решает проблему 1.
Ознакомьтесь с расширениями библиотеки параллельных задач, чтобы узнать, как можно более эффективно использовать все ядра для обработки долгосрочных задач. Большинство задач можно разделить на подзадачи, которые
может работать параллельно. Это решает проблему 2.
Надеюсь, это поможет.