Input and output are inherently slow compared with other processing due to factors such as the following:
• Delays caused by track and sector seek time on random access devices, such as disks
• Delays caused by the relatively slow data transfer rate between a physical device and system memory
• Delays in network data transfer using file servers, storage area networks, and so on
All I/O in previous examples has been thread-synchronous, so that the entire thread waits until the I/O operation completes.
This chapter shows how a thread can continue without waiting for an operation to complete—that is, threads can perform asynchronous I/O. Examples illustrate the different techniques available ...