3 ms·
Concurrency - computer science: In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed o
by loopz 6y ago
Concurrency - computer science:
In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. - Wikipedia
If you start delving into how, you quickly lose the overall meaning of the concept over to specific implementations.
- kqr 6y agoThis is indeed it. Concurrency is a design/architecture concern. It's a property of the code: are parts of it independent of time with respect to each other so that they can execute out of order (including interleaved in time slices.) Parallelism is a run-time concern. Are parts of the code executing literally simultaneously?
- quietbritishjim 6y agoThat confirms my point that "concurrency" doesn't mean anything close to what the grandparent comment says, which claimed the concurrency is to do with overhead of parallelisation. What's more, it all mostly agrees with what I was saying. Look at this bit in particular: > This allows for parallel execution of the concurrent units Notice how it uses "parallel" to mean that the concurrent units (to use the quoted terminology) are actually executing at the same time, exactly as my previous comment says. OK, it avoided talking about "physical processors" or "cores", but that's what this boils down to on practical digital computers. Maybe the wording in my last comment wasn't 100% perfect, and there are some slight differences on details (e.g. the quoted Wikipedia text only seems concerned with processing-bound units of execution, not IO-bound waiting) but it's clearly talking about the same two definitions.