liveBook · Manning

Parallelism

As explained in C++ Concurrency in Action, Second Edition

Parallelism is the simultaneous execution of multiple tasks, typically to use available hardware and improve performance.

Parallelism means running multiple tasks simultaneously, with the performance goal of using available hardware—especially for bulk data processing. Concurrency often emphasizes separation of concerns or responsiveness instead, though the terms overlap. section 1.1.3

Parallel work can be organized in different ways:

  • Run separate processes on distinct networked machines to increase available parallelism, accepting higher communication costs. section 1.1.2
  • Express work as a standard-library algorithm call and delegate task parallelization to the library for optimal performance where supported. section 9.0

How C++ Concurrency in Action, Second Edition covers it

How deep it goes
Defines the performance-oriented distinction from concurrency and points to library-managed parallelization without detailing its mechanics.
Examples
Uses networked processes and standard-library algorithm calls to illustrate ways to increase or delegate parallel work.
What you can do after
Evaluate parallelism as a performance goal and identify standard-library algorithms as a route to delegating task division.
How it connects
Connects parallelism with concurrency, multithreading, processes, and standard library algorithms.

Also explained in

Compare how 38 books explain parallelism →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of C++ Concurrency in Action, Second Edition. The section links point to the parts of the book it draws on.