Contents of This Book

Chapter 1, Why Threading Building Blocks?, introduces the motivation for Intel Threading Building Blocks and gives you a high-level feel for how this solution is superior to other options for C++ programmers.

Chapter 2, Thinking Parallel, is a brief introduction to parallelism. Understanding how to “Think in Parallel” is fundamental to being able to write a good parallel program. This is the one place in the book where terms such as scalability are defined and the motivation for focusing on it is provided.

The rest of the book deals with using Threading Building Blocks.

Chapter 3, Basic Algorithms, covers the basic algorithmic capabilities. This is the key chapter to learning Threading Building Blocks. Here you will come to understand the concepts of recursion, task stealing, and algorithm patterns that are uniquely combined in Intel Threading Building Blocks. This will make the capabilities of Threading Building Blocks available to you.

Chapter 4, Advanced Algorithms, covers more advanced algorithmic capabilities.

Chapter 5, Containers, covers the data structure capabilities: the containers.

Chapter 6, Scalable Memory Allocation, covers the scalable memory allocator. Making sure your memory allocation is handled by a scalable memory allocator is very important.

Chapter 7, Mutual Exclusion, discusses mutual exclusion, both by locks and by atomic operations.

Chapter 8, Timing, discusses timing using a global timestamp capability built into Threading Building Blocks.

Chapter 9, Task Scheduler, discusses the core of the Threading Building Blocks runtime: the task scheduler.

Chapter 10, Keys to Success, pulls everything together to offer key tips to success, including the five steps to making the best use of Threading Building Blocks. The chapter also covers debugging, thread safety, mixing with other threading models, and general performance considerations.

Chapter 11, Examples, is a rich collection of examples ranging from simple to moderately complex and from obvious uses to more esoteric uses to meet specific needs. This may be a chapter you jump to if you are eager to type in some code and take it for a “spin.” This chapter expands on the short samples of code shown throughout the book to explain individual features.

Chapter 12, History and Related Projects, departs from the goal of teaching the use of Intel Threading Building Blocks and talks instead about its design and the influences on it. The chapter includes a recap of the research that inspired Intel Threading Building Blocks and a bibliography with many pointers to additional readings on parallel programming.

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.