Software Engineering ยท Performance
Making progress on multiple tasks over the same time period by switching between them โ not necessarily running them at the exact same instant.
Example: A single-threaded server juggling thousands of open connections by switching between them whenever one is waiting on I/O.
In practice: Concurrency is a structuring problem, not a hardware one โ a single core can run concurrent code fine by interleaving tasks; parallelism is what specifically requires multiple cores running at once.