Book Image

Multithreading in C# 5.0 Cookbook

By : Evgenii Agafonov
Book Image

Multithreading in C# 5.0 Cookbook

By: Evgenii Agafonov

Overview of this book

In an age when computer processors are being developed to contain more and more cores, multithreading is a key factor for creating scalable, effective, and responsive applications. If you fail to do it correctly, it can lead to puzzling problems that take a huge amount of time to resolve. Therefore, having a solid understanding of multithreading is a must for the modern application developer. Multithreading in C# 5.0 Cookbook is an easy-to-understand guide to the most puzzling programming problems. This book will guide you through practical examples dedicated to various aspects of multithreading in C# on Windows and will give you a good basis of practical knowledge which you can then use to program your own scalable and reliable multithreaded applications. This book guides you through asynchronous and parallel programming from basic examples to practical, real-world solutions to complex problems. You will start from the very beginning, learning what a thread is, and then proceed to learn new concepts based on the information you get from the previous examples. After describing the basics of threading, you will be able to grasp more advanced concepts like Task Parallel Library and C# asynchronous functions. Then, we move towards parallel programming, starting with basic data structures and gradually progressing to the more advanced patterns. The book concludes with a discussion of the specifics of Windows 8 application programming, giving you a complete understanding of how Windows 8 applications are different and how to program asynchronous applications for Windows 8.
Table of Contents (18 chapters)
Multithreading in C# 5.0 Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Introduction


In the .NET Framework, there is a subset of libraries that is called the Parallel Framework, often referred to as Parallel Framework Extensions (PFX), which was the name of the very first version of these libraries. Parallel Framework was released with .NET Framework 4.0 and consists of three major parts:

  • Task Parallel Library (TPL)

  • Concurrent collections

  • Parallel LINQ or PLINQ

Through this book, we learned how to run several tasks in parallel and synchronize them with one another. In fact, we partition our program into a set of tasks and have different threads running different tasks. This approach is called task parallelism, and we have only been learning about task parallelism so far.

Imagine that we have a program that performs some heavy calculations over a big set of data. The easiest way to parallelize this program is to partition this set of data into smaller chunks, run the calculations needed over these chunks of data in parallel, and then aggregate the results of these...