Summary
Explore concurrent data structures such as counters, lists, queues, and hash tables with a focus on lock acquisition and release strategies. Understand why enabling more concurrency doesn't always improve performance, and learn the importance of addressing performance issues only when they arise. Discover foundational concepts on lock management and tips for developing correct and efficient concurrent data structures.
We'll cover the following...
You were introduced to a sampling of concurrent data structures, from counters to lists and queues, and finally to the ubiquitous and heavily-used hash table. You learned a few important lessons along the way:
- To be careful with the acquisition and release of locks around control flow changes.
- Enabling more concurrency does not necessarily increase performance.
- Performance problems should only be remedied once they exist.
This last point, of avoiding premature optimization, is central to any performance-minded developer; there is no value in making something faster if doing so will not improve the overall performance of the application.
Of course, we have just scratched the ...