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.
Well explained look at concurrency in .Net with examples in C# and F#. Most examples are well throughout and realistic while still being easy enough to follow. This book does have one of my pet peeves, it builds upon itself in such a way in which later parts of the book refer back to earlier built library functions, this makes code in later parts useless unless with all the previous library code.
The book shows you different approaches to tackle concurrency. I've finished the book couple month ago and today I managed to apply my knowledge about TPL Dataflow for solving real problem in LOB application.
The task was to upload 2.5k files to the server, execute processing and wait for result using pull-based approach (asking server whether result is ready or not). Naive all-parallel task implementation runs with full CPU load about 30 sec and crash the process after that. In the same time, TPL Dataflow implementation is able to process everything in 7.5min maintaining CPU load about 1.5%.
I am more than happy with the knowledge obtained from the book!