Skip to content

Concurrency

Organising multiple tasks so that their processing periods can overlap.

Software architecture

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