Asynchronous Programming in C#



Kursarrangør: Bouvet
Sted: Bouvet avd Oslo
          Oslo, Majorstua
Kursadresse: Sørkedalsveien 8, 0369 Oslo (kart)
Type:Åpent kurs / gruppeundervisning
Studie / yrkesutdanning
Undervisningstid: kl 09:00 - 16:00
Varighet: 2 days
Pris: 16.900
Neste kurs: 17.11.2026 | Vis alle kursdatoer

We provide course about Asynchronous Programming in C#. Discover the practical power of Asynchronous Programming in C# and gain the expertise needed to write responsive, efficient, and scalable applications.

What will developers learn:
This comprehensive two-day course for seasoned C# and .NET developers will cover a wide range of topics, from threads, tasks and async/await to advanced features like task schedulers and synchronization contexts.

Included are plenty of hands-on exercises that enable you to master and apply the concepts of asynchronous programming. By the end of this course, you will understand how to use asynchronous techniques to optimize your applications’ efficiency, scalability, and responsiveness.

Agenda:
Module 1 - Introduction, Processes and Threads:
• Synchronous vs. Asynchronous programming
• Processes
• Threads

Module 2 - Thread pool:
• The cost of creating threads
• Worker and I/O Threads
• When not to use the thread pool

Module 3 - Tasks:
• Creating tasks
• Returning data from a task
• Using Tasks or Threads

Module 4 - Waiting for tasks:

Module 5 - Error Handling in Asynchronous:
• Exceptions in threads
• Exceptions in tasks

Module 6 - Continuations

Module 7 - Async - Await:
• Async methods
• Async state machine
• The await keyword
• Returning data from async methods
• Async all the way
• Async lambdas
• Optimizing async / await
• .Get Awaiter .Get Result
• Wait Async

Module 8 - Task Schedulers

Module 9 - Async Error Handling

Module 10 - Synchronization Contexts:
• Synchronization Context vs. Task Scheduler

Module 11 - Capture Await:
• Capturing the context

Module 12 - Value Tasks:
• Tasks vs Value Tasks

Instructor: Tore Nestenius

Tore Nestenius has more than 25 years of professional experience in software development and over a decade specializing in developer training, Tore is a seasoned industry expert. He is an independent consultant, delivering high-quality training, coaching, and consulting services. His areas of focus include .NET, ASP.NET Core, Software Architecture, Web Security, and Identity Management. He is also a Microsoft .NET MVP and blogs frequently at https://nestenius.se/.

Target audience:
Experienced C# developers who want to understand how to correctly write asynchronous programming to enhance their applications using asynchronous and parallel programming.

In today’s dynamic software landscape, mastering asynchronous programming is increasingly essential for writing faster, hardware-optimized applications. As multi-core CPUs are now standard, parallel processing is the key to unlocking performance. This course is designed for C# developers seeking to take their apps to the next level.

Prerequisites:
• To get the most out of this training, participants should have at least one year of experience as a C# developer. A strong understanding of C#, including generics, lambdas, and LINQ, is crucial. Previous experience in parallel or async programming is not required. This course is up-to-date with .NET 9 and C#13.