Advanced Task Programming

This section could be called "Dummy Tasks to the Rescue” because, although the design of Threading Building Blocks is very simple at the core, there are times when you want a little more help.

This section has two examples that use a dummy task to create relationships among tasks that at first seem impossible because they have non-treelike dependence graphs. In the first example, we give a sibling task to the main program that is usually the base of the tree. In the second example, we set up a pipeline with a fork in it. It is a classic example of avoiding locks through implicit synchronization. We’ll name the two examples as follows:

  • Start a Large Task in Parallel with the Main Program

  • Two Mouths: Feeding Two from the Same Task in a Pipeline

Get Intel Threading Building Blocks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.