[Mono-devel-list] PATCH: reworked async IO for Socket
jd.conley at coversant.net
Fri Apr 8 15:38:02 EDT 2005
> For windows, well, patches for using its asynch. IO functions are
> welcome :).
We'll see... I'm not very C proficient. :)
> For the rest, aio_(read|write) are not always available and/or
> SIGEV_THREAD does not work. Even when SIGEV_THREAD works, the thread
> that calls the callback function will be killed if the callback takes
> "too much" time, which is not much. So we had to use another thread to
> actually invoke the managed callback (and the thread has to be from
> the threadpool, to behave like MS).
> The code that we have right does not have any performance issue and
> works on any system that have select(). And we are just 'wasting' one
> thread for polling on all the sockets with ongoing async. operations.
Interesting. May I suggest using a different threadpool than the static
application pool? With that you can manage the concurrency settings
separately, and not block application thread pooling and async
delegates. I believe the MS implementation uses a VERY large IOCP
threadpool for this.
More information about the Mono-devel-list