Multi-core processors are synonymous with computing speed and power in today’s world, which is why multithreading has become a key concern for C# developers. Multithreaded code helps you create effective, scalable, and responsive applications.
This is an easy-to-follow guide that will show you difficult programming problems in context. You will learn how to solve them with practical, hands-on, recipes. With these recipes, you’ll be able to start creating your own scalable and reliable multithreaded applications. Starting from learning what a thread is, we guide you through the basics and then move on to more advanced concepts such as task parallel libraries, C# asynchronous functions, and much more.
Rewritten to the latest C# specification, C# 6, and updated with new and modern recipes to help you make the most of the hardware you have available, this book will help you push the boundaries of what you thought possible in C#.
What You Will Learn
- Use C# 6.0 asynchronous language features
- Work with raw threads, synchronize threads, and coordinate their work
- Develop your own asynchronous API with Task Parallel Library
- Work effectively with a thread pool
- Scale up your server application with I/O threads
- Parallelize your LINQ queries with PLINQ
- Use common concurrent collections
- Apply different parallel programming patterns
- Use Reactive Extensions to run asynchronous operations and manage their options