Throughout this chapter, we have worked with a number of simple, concurrent data structures, such as counters and networks. For this reason, we were able to truly get to the bottom of the problems that we encountered in the concurrent programs that utilize these data structures, and were able perform in-depth analyses of how to improve their structures and design.
As you work on more complex concurrent data structures in your work and projects, you will see that their designs and structures, and the problems that accompany them, are, in fact, fundamentally similar to those that we saw in the data structures we analyzed. By truly understanding the underlying architecture of the data structures, as well as the root of problems that can occur in the programs that use them, you can build on this knowledge and design data structures that are more...