Вы можете увеличить пул рабочих потоков в конфигурации ASP.NET, и я нашел, что он очень помогает в многоядерных ящиках и IIS 6. Из того самого небольшого, что я сделал с IIS 7, кажется, что он управляет потоками намного лучше, не нуждаясь в настройке.
Более прямой вопрос о том, почему использовать оба ... вы можете Async единицу работы, чтобы вы освободили поток из пула для другой единицы работы, чтобы начать, не дожидаясь завершения другой нити. Это позволяет приложению параболизировать больше работы за один раз.
Все ваши запросы aspx исполняются в Worker Thread в любом случае, но если вы асинхронно куски вашего запроса, он может выполнять части и возвращать поток обратно в пул, а не выполнять все в вашем запросе все сразу.
Это сложно и сложно освоить, поэтому будьте осторожны. :)
http://www.guidanceshare.com/wiki/ASP.NET_2.0_Performance_Guidelines_-_Threading
Вне ASP, с окнами формы нет такого понятия, как «безграничные» пулов потоков. Когда вы вращаете больше потоков, чем может работать box/os, вы начнете переключение контекста так часто, что вы будете побеждать цель потоковой передачи. Я буду читать дальше по этому вопросу, так как это очень большая и передовая тема.
http://en.wikipedia.org/wiki/Thread_(computer_science)
Взгляните на основные объяснения: –
Donny