With an understanding of the .NET framework, stable and robust multithreaded applications can be developed with minimal effort. Covering the topics related to multithreaded development, this book not only focuses on how a task is performed but also on the more important question of why these tasks are performed. The strengths and weaknesses of each approach to multithreading are analyzed so that programmers and developers can choose the appropriate approach based on their particular constraints. Complete coverage of multithreading development using the .NET framework in both Visual Basic .NET and C# is provided in addition to detailed analyses of threads, delegates, asynchronous execution, threadpools, and locks.
The idea for this book came out of discussions with Scott Christiansen, a leading developer using Microsoft technologies. While working together at a consulting company we spent numerous lunches kicking around ideas for a book and agreed that multithreaded development was an ideal subject. Soon after our discussions, I began a conversation with Manning Publications; this book is the end result.
Rather than focusing on abstract concepts, this book looks at the motivation behind each concept, not just the implementation. Readers of this book should know how to develop in the .NET platform. It is not assumed that you have written multithreaded applications, or programmed at a low level. All concepts beyond those required to write a single-threaded application in .NET are covered in great detail.
This book is intended primarily for architects and developers. Other players in an organization will also benefit from reading this book, but the primary focus is on designing and implementing multithreaded applications.
Since .NET does not require a single language, all examples in this book are available from the publisher’s web site in both C# and Visual Basic .NET. Removing syntactical hurdles allows you to focus on the concepts. The examples alternate between the languages, showing that the fundamental issues relate to the .NET framework, not a particular language.
The code examples in the book are intentionally terse. Rather than including all code relating to an example, only the relevant elements are included. This highlights the relevant portions of code, allowing you to focus on the concept and not be drawn into the unrelated detail. All code examples are available in entirety from the publisher’s web site.