Chapter 8. Asynchronous I/O and the ACE Proactor Framework
Applications that must perform I/O on multiple endpoints—whether network sockets, pipes, or files—historically use one of two I/O models:
- Reactive. An application based on the reactive model registers event handler objects that are notified when it's possible to perform one or more desired I/O operations, such as receiving data on a socket, with a high likelihood of immediate, successful completion. The ACE Reactor framework, described in Chapter 7, supports the reactive model.
- Multithreaded. An application spawns multiple threads that each perform synchronous, often blocking, I/O operations. This model doesn't scale very well for applications with large numbers of open endpoints.