Concurrency
Organising multiple tasks so that their processing periods can overlap.
What is concurrency?
Concurrency organises multiple tasks with overlapping processing. They can progress by taking turns on one executing processor, for example when a task waits for data. Actual simultaneous execution is not required; that is parallelism. Concurrent workflows need deliberate handling of order, results and shared state.
In a fictional portal, several document fetches proceed while other requests are processed. Response order need not match starting order. The team maps every result to the correct request and prevents an old response from silently replacing newer state. Concurrency can make resources usable during waits but guarantees neither higher throughput nor error-free data. Suitable coordination and checked error states remain necessary.
Sources
Related terms
- Asynchronous programmingWaiting for a result without blocking the rest of the intended workflow.
- ParallelismActually executing several computations at the same time.
- Race conditionA result depends on the timing of overlapping accesses and can therefore be wrong.
- 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.
- Memory leakMemory that is no longer needed stays allocated while the program runs.
Your project with ASES
Describe your project to us. We will get back to you with an initial assessment.