Parallel programming and concurrency with C# 10 and .NET 6 : a modern approach to building faster, more responsive, and asynchronous . NET applications using C# /

Saved in:
Bibliographic Details
Author / Creator:Ashcraft, Alvin, author.
Imprint:Birmingham : Packt Publishing, Limited, 2022.
Description:1 online resource (321 pages)
Language:English
Subject:
Format: E-Resource Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/13702355
Hidden Bibliographic Details
ISBN:1803240393
9781803240398
Notes:Simple Parallel. ForEach loops
Print version record.
Summary:Leverage the latest parallel and concurrency features in .NET 6 when building your next application and explore the benefits and challenges of asynchrony, parallelism, and concurrency in .NET via practical examples Key Features Learn to implement parallel programming and handle concurrency in .NET efficiently Switch threads while debugging and learn how to monitor specific threads in Visual Studio Discover how to cancel tasks with callbacks, by polling, or by using a task with wait handles Book Description .NET has included managed threading capabilities since the beginning, but early techniques had inherent risks: memory leaks, thread synchronization issues, and deadlocks. This book will help you avoid those pitfalls and leverage the modern constructs available in .NET 6 and C# 10, while providing recommendations on patterns and best practices for parallelism and concurrency. Parallel, concurrent, and asynchronous programming are part of every .NET application today, and it becomes imperative for modern developers to understand how to effectively use these techniques. This book will teach intermediate-level .NET developers how to make their applications faster and more responsive with parallel programming and concurrency in .NET and C# with practical examples. The book starts with the essentials of multi-threaded .NET development and explores how the language and framework constructs have evolved along with .NET. You will later get to grips with the different options available today in .NET 6, followed by insights into best practices, debugging, and unit testing. By the end of this book, you will have a deep understanding of why, when, and how to employ parallelism and concurrency in any .NET application. What you will learn Prevent deadlocks and race conditions with managed threading Update Windows app UIs without causing exceptions Explore best practices for introducing asynchronous constructs to existing code Avoid pitfalls when introducing parallelism to your code Implement the producer-consumer pattern with Dataflow blocks Enforce data sorting when processing data in parallel and safely merge data from multiple sources Use concurrent collections that help synchronize data across threads Debug an everyday parallel app with the Parallel Stacks and Parallel Tasks windows Who this book is for This book is for beginner to intermediate-level .NET developers who want to employ the latest parallel and concurrency features in .NET when building their applications. Readers should have a solid understanding of the C# language and any version of the .NET Framework or .NET Core.
Other form:Print version: Ashcraft, Alvin. Parallel Programming and Concurrency with C# 10 And . NET 6. Birmingham : Packt Publishing, Limited, ©2022

MARC

LEADER 00000cam a22000007a 4500
001 13702355
006 m o d
007 cr cnu---unuuu
008 220827s2022 enk o 000 0 eng d
005 20241127154137.0
035 |a (OCoLC)1341445271 
035 9 |a (OCLCCM-CC)1341445271 
040 |a EBLCP  |b eng  |e pn  |c EBLCP  |d ORMDA  |d OCLCQ  |d N$T  |d OCLCF  |d OCLCQ  |d IEEEE  |d OCLCO 
020 |a 1803240393 
020 |a 9781803240398  |q (electronic bk.) 
037 |a 9781803243672  |b O'Reilly Media 
037 |a 10162703  |b IEEE 
050 4 |a QA76.73.C154 
049 |a MAIN 
100 1 |a Ashcraft, Alvin,  |e author. 
245 1 0 |a Parallel programming and concurrency with C# 10 and .NET 6 :  |b a modern approach to building faster, more responsive, and asynchronous . NET applications using C# /  |c Alvin Ashcraft. 
260 |a Birmingham :  |b Packt Publishing, Limited,  |c 2022. 
300 |a 1 online resource (321 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
588 0 |a Print version record. 
505 0 |a Cover -- Title Page -- Copyright and Credits -- Contributors -- Table of Contents -- Preface -- Part 1: Introduction to Threading in .NET -- Chapter 1: Managed Threading Concepts -- Technical requirements -- NET threading basics -- Threads and processes -- When should we use multithreading in .NET? -- Background threads -- What is managed threading? -- Creating and destroying threads -- Creating managed threads -- Pausing thread execution -- Destroying managed threads -- Handling threading exceptions -- Synchronizing data across threads -- Synchronizing code regions 
505 8 |a Manual synchronization -- Scheduling and canceling work -- Scheduling managed threads -- Canceling managed threads -- Summary -- Questions -- Chapter 2: Evolution of Multithreaded Programming in .NET -- Technical requirements -- NET threading through the years -- C# 4 and .NET Framework 4.0 -- C# 5 and 6 and .NET Framework 4.5.x -- C# 7.x and .NET Core 2.0 -- C# 8 and .NET Core 3.0 -- C# 10 and .NET 6 -- Beyond threading basics -- Managed thread pool -- Threading and timers -- Introduction to parallelism -- Using Parallel. Invoke -- Using Parallel. ForEach -- Basics of Parallel LINQ 
505 8 |a Introduction to concurrency -- ConcurrentBag -- ConcurrentQueue -- ConcurrentStack -- BlockingCollection -- ConcurrentDictionary -- Basics of async and await -- Understanding the async keyword -- Writing an async method -- Choosing the right path forward -- Summary -- Questions -- Chapter 3: Best Practices for Managed Threading -- Technical requirements -- Handling static objects -- Static data and constructors -- Controlling shared access to static objects -- Managing deadlocks and race conditions -- Mitigating deadlocks -- Avoiding race conditions 
505 8 |a Threading limits and other recommendations -- Summary -- Questions -- Chapter 4: User Interface Responsiveness and Threading -- Technical requirements -- Leveraging background threads -- Which threads are background threads? -- Using async, await, tasks, and WhenAll -- Using the thread pool -- Updating the UI thread without exceptions -- Summary -- Questions -- Part 2: Parallel Programming and Concurrency with C# -- Chapter 5: Asynchronous Programming with C# -- Technical requirements -- More about asynchronous programming in .NET -- I/O-bound operations -- CPU-bound operations 
505 8 |a Nested async methods -- Working with Task objects -- Exploring Task methods -- Exploring Task properties -- Interop with synchronous code -- Executing async from synchronous methods -- Executing synchronous code as async -- Working with multiple background tasks -- Asynchronous programming best practices -- Summary -- Questions -- Chapter 6: Parallel Programming Concepts -- Technical requirements -- Getting started with the TPL -- I/O-bound operations -- CPU-bound operations -- Parallel loops in .NET -- Basic Parallel. For loops -- Parallel loops with thread-local variables 
500 |a Simple Parallel. ForEach loops 
520 |a Leverage the latest parallel and concurrency features in .NET 6 when building your next application and explore the benefits and challenges of asynchrony, parallelism, and concurrency in .NET via practical examples Key Features Learn to implement parallel programming and handle concurrency in .NET efficiently Switch threads while debugging and learn how to monitor specific threads in Visual Studio Discover how to cancel tasks with callbacks, by polling, or by using a task with wait handles Book Description .NET has included managed threading capabilities since the beginning, but early techniques had inherent risks: memory leaks, thread synchronization issues, and deadlocks. This book will help you avoid those pitfalls and leverage the modern constructs available in .NET 6 and C# 10, while providing recommendations on patterns and best practices for parallelism and concurrency. Parallel, concurrent, and asynchronous programming are part of every .NET application today, and it becomes imperative for modern developers to understand how to effectively use these techniques. This book will teach intermediate-level .NET developers how to make their applications faster and more responsive with parallel programming and concurrency in .NET and C# with practical examples. The book starts with the essentials of multi-threaded .NET development and explores how the language and framework constructs have evolved along with .NET. You will later get to grips with the different options available today in .NET 6, followed by insights into best practices, debugging, and unit testing. By the end of this book, you will have a deep understanding of why, when, and how to employ parallelism and concurrency in any .NET application. What you will learn Prevent deadlocks and race conditions with managed threading Update Windows app UIs without causing exceptions Explore best practices for introducing asynchronous constructs to existing code Avoid pitfalls when introducing parallelism to your code Implement the producer-consumer pattern with Dataflow blocks Enforce data sorting when processing data in parallel and safely merge data from multiple sources Use concurrent collections that help synchronize data across threads Debug an everyday parallel app with the Parallel Stacks and Parallel Tasks windows Who this book is for This book is for beginner to intermediate-level .NET developers who want to employ the latest parallel and concurrency features in .NET when building their applications. Readers should have a solid understanding of the C# language and any version of the .NET Framework or .NET Core. 
630 0 0 |a Microsoft .NET Framework.  |0 http://id.loc.gov/authorities/names/n2017043838 
630 0 7 |a Microsoft .NET Framework  |2 fast 
650 0 |a C (Computer program language)  |0 http://id.loc.gov/authorities/subjects/sh85018532 
650 0 |a Application software  |x Development.  |0 http://id.loc.gov/authorities/subjects/sh95009362 
650 6 |a C (Langage de programmation) 
650 6 |a Logiciels d'application  |x Développement. 
650 7 |a Application software  |x Development  |2 fast 
650 7 |a C (Computer program language)  |2 fast 
776 0 8 |i Print version:  |a Ashcraft, Alvin.  |t Parallel Programming and Concurrency with C# 10 And . NET 6.  |d Birmingham : Packt Publishing, Limited, ©2022 
856 4 0 |u https://go.oreilly.com/uchicago/library/view/-/9781803243672/?ar  |y O'Reilly 
929 |a oclccm 
999 f f |s 53a082ef-29ef-460c-8085-b6c6fb41b52f  |i 6dc614b5-be4b-44f7-a061-184cd6572d84 
928 |t Library of Congress classification  |a QA76.73.C154  |l Online  |c UC-FullText  |u https://go.oreilly.com/uchicago/library/view/-/9781803243672/?ar  |z O'Reilly  |g ebooks  |i 13845295