When striving for performance, programming in terms of threads can be a poor way to do multithreaded programming. It is much better to formulate your program in terms of logical tasks, not threads, for several reasons.
Matching parallelism to available resources
Perform computations on items in a data set, where the computation on an item uses results from computations on predecessor items.
The dependences between computations form an acyclic graph.
This section describes the identifier conventions used by Intel® Threading Building Blocks.
The identifier convention in the library follows the style in the ISO C++ standard library. Identifiers are written in underscore_style, and concepts in PascalCase.
Specify that a parallel loop should optimize its range subdivision based on work-stealing events.
Template classes for set containers that supports concurrent insertion and traversal.
In an Intel® Threading Building Blocks (Intel® TBB) flow::graph, nodes which forward messages to successors have one of two possible forwarding policies, which are a property of the node: