Multiple threadpool for one process

  • Thread starter Thread starter Tamir Khason
  • Start date Start date
T

Tamir Khason

Is there "standart" way to use more then one threadpool in one process?
I mean, without custom developed classes, native way??

Thank you

--
Regards,
Tamir Khason
Especially those days you need a flexible IT service provider that can meet
your needs through a broad set of offerings.
TCON - A technology company that understands your business.
www.tcon.co.il
 
Tamir,

No, there is not. You will have to create another class that handles a
pool of threads on your own.

Hope this helps.
 
OK, Pritty clear...
I know this, but It does not looking me smart, are there some seriouse
reason for it???
 
There is only one single CLR threadpool available per process split into two different pools (non I/O style workitems - 25
threads/CPU default,. and one I/O style workitems - 1000 threads/CPU default).
If you need a separate threadpool, you need to implement it yourself.

Willy.
 
Mybe (just for case) you know if multiple threadpools will avialiable in C#
v2 (beggining of the next year)?


Willy Denoyette said:
There is only one single CLR threadpool available per process split into
two different pools (non I/O style workitems - 25
 
Willy Denoyette said:
There is only one single CLR threadpool available per process split into
two different pools (non I/O style workitems - 25
threads/CPU default,. and one I/O style workitems - 1000 threads/CPU default).
If you need a separate threadpool, you need to implement it yourself.

Willy.
re: the I/O workitems...1000 threads/cpu? Can you provide a link to any docs
on this? I've not heard of this pool and I'd like to learn more about it.
Thanks

Dave
 
Dave,

I don't know if it's documented somewhere, but the value is reported by ThreadPool.GetMaxThreads. (25 for v1.0 and 1000 for 1.1)
Note that I/O threads are only used for asynchronous I/O operations (BeginRead/Write, etc) and the max. number is process wide not
per processor.

Willy.
 
Willy,

Thanks, I get the same reported value. 1000 IO threads seem excessive to me.
That would consume over 1G of virtual address space if each managed thread
was mapped to a unique OS thread. They could use the same thread to handle
multiple async IO operations using IO completion ports. I suspect that value
actually represents something other then actual IO threads. Some data from
MSFT on this would be helpful.

Thanks,
Dave



Willy Denoyette said:
Dave,

I don't know if it's documented somewhere, but the value is reported by
ThreadPool.GetMaxThreads. (25 for v1.0 and 1000 for 1.1)
Note that I/O threads are only used for asynchronous I/O operations
(BeginRead/Write, etc) and the max. number is process wide not
 
Dave,
Yes the value is excessive, but the value of 25 in .NET v1.0 was just too low for server class applications, I guess MSFT decided to
set such a high value so that resources like memory and CPU would get exhausted before the value would be reached.
Also note that the threadpool threads are all IOCP bound on OSses that support IOCP's.

Willy.
 
Hi Tamir,

Thanks for posting in this group.
I think you can provide your suggestion to microsoft at the link below:
http://register.microsoft.com/mswish/suggestion.asp

After your feedback, we will review your suggestion.
I think you'd better provide the reason for your suggestion.

Again, thanks for your feedback.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

--------------------
| From: "Tamir Khason" <[email protected]>
| References: <#Uvm##[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<u#[email protected]>
<[email protected]>
| Subject: Re: Multiple threadpool for one process
| Date: Thu, 30 Oct 2003 07:49:20 +0200
| Lines: 33
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
| Message-ID: <[email protected]>
| Newsgroups: microsoft.public.dotnet.languages.csharp
| NNTP-Posting-Host: 82-166-168-12.barak.net.il 82.166.168.12
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.languages.csharp:195277
| X-Tomcat-NG: microsoft.public.dotnet.languages.csharp
|
| Mybe (just for case) you know if multiple threadpools will avialiable in
C#
| v2 (beggining of the next year)?
|
|
| | > There is only one single CLR threadpool available per process split into
| two different pools (non I/O style workitems - 25
| > threads/CPU default,. and one I/O style workitems - 1000 threads/CPU
| default).
| > If you need a separate threadpool, you need to implement it yourself.
| >
| > Willy.
| >
| >
| | > > The problem that I'm not :)
| > >
| > > This why I'm asking...
| > >
| > >
| > >
| > > | > > > If you are so sure it's yes, I'm sure you can tell us how ;-).
| > > >
| > > > Willy.
| > > >
| >
| >
|
|
|
 
Back
Top