On Wed, Aug 31, 2011 at 9:34 AM, Stéphane Ducasse
<[email protected]> wrote:
> Can you describe what they are doing?

Well, they do not do it in exactly the same way, but async I/O is used
in servers that need to handle very large number of connections (like
web servers, message queues), and where cost of separate process or
even a thread for each connection is too large. So instead of
providing blocking api, and having a thread for each connection
waiting in a blocking call, those frameworks allow for handling of all
connections in side one thread. Quite often this is done with
registering callbacks that handle events for a connection that
framework efficently calls, but other approaches also exist.

For far better explanation wikipedia gives nice overview:

http://en.wikipedia.org/wiki/Asynchronous_I/O

The techniques exist fro a long time, but an article that triggered
wider interest and defined C10k term is here:

http://www.kegel.com/c10k.html

Nginx web server is one example of usage of Async I/O

Davorin Rusevljan
http://www.cloud208.com/

Reply via email to