Preface
Not so long ago, a typical personal computer CPU had only one computing core, and the power consumption was enough to cook fried eggs on it. In 2005, Intel introduced its first multiple-core CPU, and since then computers started developing in a different direction. Low power consumption and a number of computing cores became more important than a row computing core performance. This lead to programming paradigm changes as well. Now we need to learn how to use all CPU cores effectively to achieve the best performance, and at the same time, save battery power by running only the programs we need at a particular time. Besides that, we need to program server applications in a way to use multiple CPU cores or even multiple computers as efficiently as possible to support as many users as we can.
To be able to create such applications, you have to learn to use multiple CPU cores in your programs effectively. If you use the Microsoft .NET development platform and C# programming language, this book will be a perfect starting point for programming applications that have good performance and responsiveness.
The purpose of this book is to provide you with a step-by-step guide for multithreading and parallel programming in C#. We will start with the basic concepts, going through more and more advanced topic based on the information from previous chapters, and end with real-world parallel programming patterns and Windows Store application samples.