A
situation in which a
computer program or a
hardware component
such as the
CPU, waits for a
completion of a task by another program
or component. The program or component is inactive for the whole
duration of the wait, and its operation resumes once the other side
has completed.
Probably the best known example is CPU wait states against RAM accesses.
On some machines, the memory component completes its tasks in time periods
that are much longer than the CPU cycle. This makes the CPU wait
for memory reads and writes to finish before continuing execution (although
advanced architectures use pipelines to optimize the CPU's operation despite the latency).