Lately I've been studying the different async workflows and the most confusing bit (so far) is the difference between concurrent execution and parallel execution.<p>I have examples for concurrent-not-parallel, like single threaded processes or a multi-threaded program on a single thread processor.<p>What I cannot find are examples of scenarios where the execution is parallel, but not concurrent. TBH, it seems impossible (so far).<p>Wikipedia did give me one - Bit-level parallelism[1]. But that topic is a bit out of reach for me (again, so far).<p>Can anyone give me a more <i>simple</i> parallel-not-concurrent execution scenario?<p>[1]: https://en.wikipedia.org/wiki/Bit-level_parallelism
Vector addition in floating point registers is parallel but not concurrent.<p>Parallel means division of a task into separate parts which execute at the same instant in time.<p>Concurrent means separate task with overlapping lifetimes.<p>Parallel is contrasted with single threads of execution. And concurrent should be contrasted with serialization of task lifetimes.