Asynchronous programming
Waiting for a result without blocking the rest of the intended workflow.
What is asynchronous programming?
Asynchronous programming allows a task to start and its result to be processed later. During suitable waiting phases, the program can handle other events. Network access is a common use. This implies neither automatic parallel execution nor a general promise that every operation gets faster. Computation-heavy work can still block its executing flow if it runs synchronously there.
In a fictional portal, a document upload starts. While transfer is pending, the interface can keep responding and show progress. Only appropriate confirmation allows it to report the document saved. Errors, cancellation and late responses need their own states. An early-returning function or a responsive interface therefore does not prove a successful upload.
Sources
Related terms
- ParallelismActually executing several computations at the same time.
- ConcurrencyOrganising multiple tasks so that their processing periods can overlap.
- Error handlingDefining how a program handles detected errors and responds appropriately.
- Cache stampedeA cache stampede occurs when concurrent cache misses trigger the same expensive calculation or data query repeatedly.
- BackpressureBackpressure adjusts incoming data to the receiver’s processing capacity through signals to slow down or pause.
- Race conditionA result depends on the timing of overlapping accesses and can therefore be wrong.
Your project with ASES
Describe your project to us. We will get back to you with an initial assessment.