Подтвердить что ты не робот

Путь потока в контексте IIS

У меня есть общий вопрос о System.Threading.Threadpool при запуске в веб-приложении IIS. Скажем, у нас сразу два запроса выполняются, и мы запускаем пару потоков через метод ThreadPool.QueueUserWorkItem. Будут ли два запроса совместно использовать ThreadPool, или вызовы ThreadPool из двух запросов будут работать в двух отдельных пулах?

Это в IIS6 и 7.

Спасибо за понимание.

4b9b3361

Ответ 1

Вот цитата из документации MSDN о ThreadPool class:

Существует один пул потоков для каждого процесса. Пул потоков имеет размер по умолчанию 250 рабочих потоков за каждый доступный процессор и 1000 операций ввода/вывода потоки.

В IIS6 и IIS7 любое приложение ASP.NET размещается внутри одного процесса (w3wp.exe) через инфраструктуру пула приложений. Пул приложений может размещать несколько веб-приложений, сохраняя их в разных AppDomains, но он работает внутри одного физического процесса на сервере.

Эти два факта на практике означают, что все потоки из исполняемого экземпляра веб-приложения выполняются внутри одного пула потоков .NET.