There can be only one standard thread pool (System.Threading.ThreadPool) in
a .NET process, wheiter it is a "ordinary" or ASP.NET
application/WebService.
The thread pool is further broken down to handle two distinct types of
operations:
Normal thread execution (worker threads, but also timer callbacks), IO
completion handling (IO threads for ansychronous IO processing, e.g.,
BeginXX/EndXXX).
Native applications (non .net), like IIS and others can do other things.
The standard thread pool manager defaults to 25 worker threads x CPU (and
1000 IO threads), but the value can be changed if you like by using
SetMaxThreads method. The thread pool can go over to that 25 if it thinks it
needs to.
Since there are no more than 1 thread poo, the monitoring is easy.
This might help:
http://blogs.msdn.com/davidklinems/archive/2005/11/10/491570.aspx <richard.hallgren@gmail.com> ha scritto nel messaggio
news:1173252130.736501.104910@t69g2000cwt.googlegroups.com...
[quoted text, click to view] > Hi,
>
> I have some questions concerning thread pools. I've marked the
> questions by number in the text.
>
> First I'd like to know when which thread pools an application uses. I
> know ASP.NET uses the CLR common thread pool. (1a) Is there a way
> around this? (1b) Can ASP.NET application have it's own pool? Is there
> a setting in IIS for this? (2) If ASP:NET application uses the CLR
> common pool is this also true for Web Services running on the IIS? (3)
> Does IIS applications have anything to do with this?
>
> Ok, so ASP:NET uses the CLR pool. What about ordinary .NET based
> applications then? (4a) Do they have their own? (4b) How many thread
> are usually created in such a pool? (4c) Can I/should I change this?
>
> Finally I'd like to know the best way of monitoring the different
> pools. (5) Can I use the performance monitoring tool to watch the CLR
> pool as well as other thread pools?
>
> Thanks in advance!
>
> Richard
>