[Mono-devel-list] Mono on a multipocessor
Alex Chudnovsky
alexc at majestic12.co.uk
Thu Apr 21 15:36:55 EDT 2005
Gonzalo Paniagua Javier wrote:
>On Thu, 2005-04-21 at 16:44 +0100, Alex Chudnovsky wrote:
>
>
>>I understand desire to have maximum compatibility with actual .NET, but
>>surely having higher limits on number of threads is not something that
>>would be bad? From what I understand Windows Socket IO uses Completion
>>Ports (whatever it is) that are supposedly more efficient, if thats
>>indeed the case, then I suppose Mono will need more threads available to
>>make up for having less efficient socket IO?
>>
>>
>
>There's are no threads from the threadpool blocking for IO. See
>http://www.mono-project.com/Article:IOChanges
>
>
But if I were to redesign my application to use blocking IO for sockets
instead of async IO, then, if I were to keep level of parallelism (and
naturally I don't want to wait for one blocking call to complete to move
to the other), I will have to create a thread for each of those blocking
IO calls, thus still ending having to use plenty of threads.
From what I understood blocking IO (at least for sockets) is done by
actually using async IO and making artificial wait for its to finish and
then return result, and therefore usage of number of threads should be
as much or higher (more likely higher) than in async IO model that I use
now.
From here: http://www.mono-project.com/Article:ThreadPool_Deadlocks I
understand that setting env var allows to change number of threads
available, which is fine I suppose.
Alex
More information about the Mono-devel-list
mailing list