Asynchronous and Parallel Programming in C# Training
Level
AdvancedDuration
16h / 2 daysDate
Individually arrangedPrice
Individually arrangedAsynchronous and Parallel Programming in C# Training
This type of programming is particularly useful when developing applications that need to handle multiple operations simultaneously, such as web applications, web services, desktop applications, or solutions that process large amounts of data. The goal of this training is to teach participants how to effectively use asynchronous and parallel mechanisms in C# to improve the performance and responsiveness of their applications.
What will you learn?
- Explore the core aspects of asynchronous programming
- Understand how applications leveraging asynchronicity actually work
- Learn the benefits of asynchronous programming, as well as its trade-offs and pitfalls
- Discover new tools you may not have used before
- Gain senior-level .NET knowledge required for building high-performance applications
Who is this training for?
System developers with intermediate knowledge of .NET Core and/or .NET Framework
.NET programmers who want to expand their knowledge in asynchronous programming
Developers who need to build highly efficient applications
Training Program
-
Module 1: Asynchronous Programming (Part 1)
- Principles of asynchronous code execution
- Understanding async/await operations
- Introduction to State Machines
- Awaiter pattern
-
Module 2: Parallel Programming
- Threads, ThreadPool, and Tasks
- Working with the Task Parallel Library (TPL)
- Launching and managing parallel tasks
- Proper handling of task results, continuations, and cancellations
- Exception handling in parallel code
- Using the Parallel class
- Data structures for resource sharing and synchronization in concurrent tasks
-
Module 3: Asynchronous Programming (Part 2)
- Differences between async/await and direct TPL usage
- I/O-bound vs CPU-bound tasks in asynchronous execution
- Correct integration of synchronous and asynchronous code
- Handling multiple asynchronous patterns in a single project
-
Module 4: Asynchronicity in ASP.NET
- SynchronizationContext and ConfigureAwait
- Key differences between .NET Framework and .NET Core
- Preventing deadlocks in ASP.NET (.NET Framework)
- Asynchronous programming in Entity Framework
-
Implementing background tasks
- Approaches, pros & cons
- Synchronization and resource sharing
-
Module 5: Best Practices in Asynchronous Programming
-
Module 6: Analyzing Asynchronous Tasks
- Debugging asynchronous code
- Profiling asynchronous code