Summary
Let's conclude this chapter on locked data structures with a summary.
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 ...