Question

J'ai une question générale sur System.Threading.ThreadPool lorsqu'il est exécuté dans une application Web sur IIS. Disons que nous avons 2 demandes exécuter à la fois, et nous tirer jusqu'à deux fils par la méthode ThreadPool.QueueUserWorkItem. Est-ce que les deux demandes partager la ThreadPool, ou bien les appels à la ThreadPool des deux demandes fonctionner dans un deux piscines séparées?

Ceci est en IIS6 et 7.

Merci pour toute perspicacité.

Était-ce utile?

La solution

Voici une citation de la documentation MSDN sur le classe ThreadPool :

  

Il y a un pool de threads par processus.   La piscine de fil a une taille par défaut   250 threads de travail par disponible   processeur, et 1000 achèvement d'E / S   threads.

Dans IIS6 et IIS7 toute application ASP.NET donné est hébergé à l'intérieur d'un processus unique ( w3wp.exe ) à travers l'infrastructure de pool d'applications.
un pool d'applications peut héberger plusieurs applications Web par les garder dans différents domaines d'application, mais il fonctionne à l'intérieur d'un processus physique sur le serveur.
Ces deux faits signifient dans la pratique que tous les threads d'une application Web en cours d'exécution par exemple exécuter dans le même pool de threads .NET.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top