Вопрос

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

Это в IIS6 и 7.

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

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top