Concurrency in .NET teaches you how to build concurrent and scalable programs in .NET using the functional paradigm. This intermediate-level guide is aimed at developers, architects, and passionate computer programmers who are interested in writing code with improved speed and effectiveness by adopting a declarative and pain-free programming style.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Unlock the incredible performance built into your multi-processor machines. Concurrent applications run faster because they spread work across processor cores, performing several tasks at the same time. Modern tools and techniques on the .NET platform, including parallel LINQ, functional programming, asynchronous programming, and the Task Parallel Library, offer powerful alternatives to traditional thread-based concurrency.
About the Book
Concurrency in .NET teaches you to write code that delivers the speed you need for performance-sensitive applications. Featuring examples in both C# and F#, this book guides you through concurrent and parallel designs that emphasize functional programming in theory and practice. You’ll start with the foundations of concurrency and master essential techniques and design practices to optimize code running on modern multiprocessor systems.
- The most important concurrency abstractions
- Employing the agent programming model
- Implementing real-time event-stream processing
- Executing unbounded asynchronous operations
- Best concurrent practices and patterns that apply to all platforms
About the Reader
For readers skilled with C# or F#.
About the Book
Riccardo Terrell is a seasoned software engineer and Microsoft MVP who is passionate about functional programming. He has over 20 years’ experience delivering cost-effective technology solutions in a competitive business environment.
Table of Contents
PART 1 – Benefits of functional programming applicable to concurrent programs
- Functional concurrency foundations
- Functional programming techniques for concurrency
- Functional data structures and immutability
PART 2 – How to approach the different parts of a concurrent program
- The basics of processing big data: data parallelism, part 1
- PLINQ and MapReduce: data parallelism, part 2
- Real-time event streams: functional reactive programming
- Task-based functional parallelism
- Task asynchronicity for the win
- Asynchronous functional programming in F#
- Functional combinators for fluent concurrent programming
- Applying reactive programming everywhere with agents
- Parallel workflow and agent programming with TPL Dataflow
PART 3 – Modern patterns of concurrent programming applied
- Recipes and design patterns for successful concurrent programming
- Building a scalable mobile app with concurrent functional programming