//For example, the following statement calculates the average age of all male 
//members in parallel:

double average = roster
    .filter(p -> p.getGender() == Person.Sex.MALE)
//The following example groups members by gender in parallel:
ConcurrentMap<Person.Sex, List<Person>> byGender =
  • Parallel computing involves dividing a problem into subproblems, solving those problems simultaneously (in parallel, with each subproblem running in a separate thread), and then combining the results of the solutions to the subproblems.
  • One difficulty in implementing parallelism in applications that use collections is that collections are not thread-safe, which means that multiple threads cannot manipulate a collection without introducing thread interference or memory consistency errors.
  • You can execute streams in serial or in parallel. When a stream executes in parallel, the Java runtime partitions the stream into multiple substreams.
  • When you create a stream, it is always a serial stream unless otherwise specified. To create a parallel stream, invoke the operation Collection.parallelStream. Alternatively, invoke the operationBaseStream.parallel.

Related concepts

Parallelism — Structure map

Clickable & Draggable!

Parallelism — Related pages: