What Does Asynchronous Mean?
In general terms, asynchronous refers to objects and events that may be related but are not coordinated in time, meaning not occurring at predetermined intervals. Asynchronous events have no dependency on each other starting or completing before the other can start or complete.
In computer science, asynchronous may refer to either:
- Asynchronous communication, wherein data is transmitted without relying on a clock signal, so data is sent intermittently
- Asynchronous input/output (I/O) processing, which allows the CPU to continue processing with other data that is independent of the current I/O operation
Techopedia Explains Asynchronous
Asynchronous refers to events or computing processes that disregard the element of time. In other words, one process can start or stop independently of other processes, even if they are related. This allows for the maximization of computing resources by utilizing idle times where one or more resources are waiting for a process to finish.
This concept is applied to network communications wherein data is transmitted intermittently instead of being one steady stream. This eliminates the need for a constant connection because the receiver will not have to wait for a steady stream. However it needs special markers, start and stop bits as well as place markers, so that the receiver will know how to piece the distributed data back together.
In the case of I/O operations, asynchronous I/O techniques are used to eliminate CPU idle times when it is waiting for a particular I/O operation to finish, which are usually multitudes of degrees slower than the speed at which a CPU can process data. By making the CPU process other data which is not related to the I/O operation, it can speed up the overall execution of processes. However, data or processes that require the completion of that I/O process still need to wait for it to complete.