Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
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 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.