Автор: Nir Dobovizki
Издательство: Manning Publications
Год: 2023
Страниц: 148
Язык: английский
Формат: pdf, epub, mobi
Размер: 10.9 MB
Supercharge your applications with the ultimate guide to asynchronous and multithreaded programming in C#!
In C# Concurrency: Asynchronous and Multithreaded Programming you’ll learn how to
Take full advantage of async/await
Write bug-free multithreaded code every time
Create multithreaded code that delivers real performance improvements
Grok C# and .NET multithreading and asynchronous primitives
Know when to use concurrency techniques—and when not to use them!
C# Concurrency: Asynchronous and Multithreaded Programming teaches you to harness the power of multithreading and async/await to get maximum speed from your code. Nir Dobovizki, a seasoned C# veteran with over 30 years of high-performance programming experience, is here to share his deep knowledge and expert techniques with you. Say goodbye to frustrating pitfalls and impossible-to-find bugs that slow down your applications. Nir's careful approach will teach you how to navigate these challenges with ease, allowing you to achieve lightning-fast performance like never before!
about the technology
Concurrency is a developers’ secret weapon for maximizing an application's performance. Using asynchronous and multithreaded programming techniques, you can seamlessly execute multiple tasks simultaneously, without sacrificing speed or quality. However, concurrency is notoriously challenging to implement correctly due to the potential for race conditions, deadlocks, and other synchronization issues, and even an experienced developer can make mistakes that undermine their code’s speed and introduce bugs that take forever to find.
Multithreading and asynchronous programming are two ways to make the computer do more than one thing at the same time. Multithreading is about making it seem like the computer is doing multiple things (more things than the number of CPU cores) at the same time and asynchronous programming is about better utilizing the CPU in all the situations that would normally cause the CPU to wait. Making the computer do more than one thing at the same time is extremely useful; it can help keep native apps responsive while they work, and it is required to write high performance servers that can communicate with multiple clients.
Each of those techniques is totally adequate for creating a responsive client application of server with a handful of clients – but together they can be used to take performance to the next level and have servers that can respond to thousands of clients at the same time. Multithreading and asynchronous programming are not only immensely powerful, but also, unfortunately, unintuitive, difficult to use correctly and full of pitfalls.
about the book
C# Concurrency teaches you how to write effective multithreaded and asynchronous software in C#. In this insightful book, you’ll discover the essential differences between multithreaded and asynchronous programming, how async/await works behind the scenes, and how you can use them all accurately and safely. Practical techniques, real-world examples, and useful code samples cut through the confusion around async/await and help you write rapid, reliable, and bug-free code.
about the author
Nir Dobovizki is a software architect and a senior consultant. He has worked on concurrent and asynchronous systems, mostly high-performance servers, since the late 90s. His career has spanned multiple companies in the medical, defense, and manufacturing industries, where he has solved numerous problems arising from incorrect usage of multithreading and asynchronous programming.
Скачать C# Concurrency (MEAP v5)