Parallelism means multiple threads execute at the same time on multiple physical CPU cores. It is more specific than concurrency, which means multiple tasks can make progress over the same period without necessarily using multiple cores. section 10.0 section 10.5
One core or several?
On one core, a thread waiting for memory or I/O can be blocked while another task runs. The tasks are concurrent, but they are not running on separate cores at the same time. Threads executing simultaneously on multiple cores are parallel. section 10.0 section 10.5
A thread of execution is a sequence of instructions intended to run in order. Running several threads concurrently does not, by itself, establish that their instructions execute in parallel; the number of cores in use matters. section 10.5





































