🎉 October Learning Month — learn a new software term every day!
An interactive flashcard trainer for software engineering terms.

Concurrency

In plain terms

Structuring a program to handle many tasks that overlap in time.

Going deeper

Concurrency is about dealing with lots of things at once (interleaving tasks), which may or may not run literally in parallel. It keeps apps responsive but introduces challenges like shared-state coordination and race conditions.

Under the hood

Concurrency (dealing with many things) differs from parallelism (doing many things at once); correctness hinges on managing shared mutable state via locks, atomics, or message passing.

Examples

Web servers handling many requests, async I/O, actor systems (Akka), Go goroutines.

Think of it like...

Like a chef juggling several dishes: chopping while something simmers and bread bakes, switching between them so nothing stalls.

Feedback & Bug Report