In this chapter, you examined multithreaded programming within the .NET Framework. You started by learning the basics of multithreaded programming. Next, you moved on and explored the two ways of creating threads: Thread and ThreadPool. You finished off the chapter by covering the weighty topic of thread synchronization.
This is a rather complex topic, and I have barely scratched the surface of it. In fact, most of the text in this chapter relates to how to implement multithreaded programming using the .NET Framework and not the theory behind it. If you find this topic interesting, there are many books and articles available on the proper implementation of multithreaded programming.
In the next and final chapter of this book, you'll cover assembly programming and how you can augment your assemblies with resources, localization, attributes, and type reflection.