Multithreading with C# Cookbook, 2/e

Eugene Agafonov

立即出貨 (庫存=1)




Key Features

  • Rewritten and updated to take advantage of the latest C# 6 features
  • Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first examples
  • Use these recipes to build fast, scalable, and reliable applications in C#

Book Description

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

About the Author

Eugene Agafonov leads the development department at ABBYY and lives in Moscow. He has over 15 years of professional experience in software development, and he started working with C# when it was in beta version. He is a Microsoft MVP in ASP.NET since 2006, and he often speaks at local software development conferences, such as DevCon Russia, about cutting-edge technologies in modern web and server-side application development. His main professional interests are cloud-based software architecture, scalability, and reliability. Eugene is a huge fan of football and plays the guitar with a local rock band. You can reach him at his personal blog,, or find him on Twitter at @eugene_agafonov.

ABBYY is a global leader in the development of document recognition, content capture, and language-based technologies and solutions that are integrated across the entire information life cycle.

He is the author of Multhreading in C# 5.0 Cookbook and Mastering C# Concurrency by Packt Publishing.

Table of Contents

  1. Threading Basics
  2. Thread Synchronization
  3. Using a Thread Pool
  4. Using the Task Parallel Library
  5. Using C# 6.0
  6. Using Concurrent Collections
  7. Using PLINQ
  8. Reactive Extensions
  9. Using Asynchronous I/O
  10. Parallel Programming Patterns
  11. There's More