Asynchronous I/O (AIO) is a modern high-performance asynchronous non-blocking I/O technology that Linux implements. Think about it: non-blocking and asynchronous implies that an application thread can issue a read (for file or network data); the usermode API returns immediately; the I/O is queued up within the kernel; the application thread can continue working on CPU-bound stuff; once the I/O request completes, the kernel notifies the thread that the read is ready; the thread then actually performs the read. This is high-performance—the app does not remain blocked on I/O and can instead perform useful work while the I/O request is processed; not only that, it is asynchronously notified when the I/O work is done. (On ...
Asynchronous I/O (AIO)
Get Hands-On System Programming with Linux now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.