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/
