© Intel Corporation 2019
Michael Voss, Rafael  Asenjo and James ReindersPro TBBhttps://doi.org/10.1007/978-1-4842-4398-5_6

6. Data Structures for Concurrency

Michael Voss1 , Rafael Asenjo2 and James Reinders3
(1)
Austin, Texas, USA
(2)
Málaga, Spain
(3)
Portland, Oregon, USA
 

In the previous chapter, we shared how much we dislike locks. We dislike them because they tend to make our parallel programs less effective by limiting scaling. Of course, they can be a “necessary evil” when needed for correctness; however, we are well advised to structure our algorithms to minimize the need for locks. This chapter gives us some tools to help. Chapters 14 focused on scalable algorithms. A common characteristic is that they avoided or minimized locking. Chapter ...

Get Pro TBB: C++ Parallel Programming with 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.