July 2007
Intermediate to advanced
332 pages
10h 4m
English
You can successfully parallelize many applications using only the constructs discussed thus far. However, some situations call for other parallel patterns. This section describes the support for some of these alternative patterns:
parallel_while
Use for an unstructured stream or pile of work. Offers the ability to add additional work to the pile while running.
pipeline
Use when you have a linear pipeline of stages. Specify the maximum number of items that can be in flight. Each stage can be serial or parallel. This uses the cache efficiently because each worker thread handles an item through as many stages as possible, and the algorithm is biased toward finishing old items before tackling new ones.