Hyppää sisältöön

Koulutus

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.

Ajankohta

9.–10.11.2026

remote

Etäkoulutus, Etäkoulutus

Ajankohta

9.–10.11.2026

remote

Etäkoulutus, Etäkoulutus

Go Beyond Async/Await.

This Asynchronous Programming in C# is a 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.  

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

Target audience definition

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.  

 Additional information for participants

To get the most from this training, you should have at least one year of experience as a C# developer. A strong understanding of C#, including generics, lambdas, and LINQ, is crucial. Experience in parallel or async programming is not required. This course is up-to-date with .NET 10 and C#14.

Osta liput

LEARN

how threads, the thread pool, and Tasks actually work under the hood, not just how to use async/await.

MASTER

async/await, cancellation, and continuations through extensive hands-on coding exercises.

AVOID

common pitfalls like deadlocks, thread starvation, and unobserved exceptions in async code.

BUILD

skills that apply directly to your own .NET applications, with course material and full exercise solutions to take away.

    • Päivä 1

      Introduction, Processes and Threads

      add_2 close
      • Synchronous vs. asynchronous programming 
      • Processes and threads 
      • The cost of creating threads 
      • Thread Pool: worker and I/O threads 
      • When not to use the Thread Pool 

      Break

      Tasks and Waiting for Tasks

      add_2 close
      • Creating tasks 
      • Returning data from a task 
      • Tasks vs. threads: choosing the right approach 
      • WaitAll vs. WaitAny 
      • WhenAll vs. WhenAny 

      Lunch Break

      Error Handling and Task Cancellation

      add_2 close
      • Exceptions in threads and tasks 
      • CancellationTokenSource 
      • IsCancellationRequested and ThrowIfCancellationRequested 
      • Cancellation tokens 
      • Combining cancellation tokens 

      Coffee Break

      Continuations and Introduction to Async/Await

      add_2 close
      • ContinueWith 
      • TaskContinuationOptions 
      • Async methods 
      • The async state machine 
      • The await keyword 

      Summary and Key Takeaways

      add_2 close
      • Review of the day’s key concepts 
      • Questions and discussion 

      See you tomorrow! The first training day ends

    • Päivä 2

      Async/Await in Depth

      add_2 close
      • Returning data from async methods 
      • Async all the way 
      • Async lambdas 
      • Optimizing async/await 
      • GetAwaiter().GetResult() 
      • WaitAsync 

      Break

      Task Schedulers and Async Error Handling

      add_2 close
      • ThreadPoolTaskScheduler 
      • Default vs. Current task scheduler 
      • Creating custom task schedulers 
      • ExclusiveScheduler vs. ConcurrentScheduler 
      • Exceptions in async methods 
      • Task schedulers and UnobservedTaskException 

      Lunch Break

      Synchronization Contexts

      add_2 close
      • SynchronizationContext vs. TaskScheduler 
      • ThreadPoolTaskScheduler 
      • DispatcherSynchronizationContext 
      • WindowsFormsSynchronizationContext 
      • Understanding context switching in asynchronous applications 

      Coffee Break

      ConfigureAwait and ValueTasks

      add_2 close
      • Capturing the synchronization context 
      • Avoiding deadlocks 
      • ConfigureAwait and ConfigureAwaitOptions 
      • Tasks vs. ValueTasks 
      • Optimizing async methods 
      • Reducing allocations 

      Course Summary and Key Takeaways

      add_2 close
      • Review of asynchronous programming concepts 
      • Choosing the right asynchronous programming techniques 
      • Performance, reliability and common pitfalls 
      • Questions and discussion 

      Thank you! The training ends

    Tore Nestenius

    .NET Architect & Technical Trainer | Microsoft MVP | OpenID Connect, Identity, and Security Expert

    Tore Nestenius

    Satoja koulutuksia, mutta ei juuri sitä oikeaa?

    Ei hätää, se oikea löytyy kyllä. Räätälöi koulutuksesta teille sopiva kokonaisuus – Kaipaatko toista ajankohtaa, toteutusmuotoa tai sijaintia? Vai onko mielessäsi tietty aihealue, johon haluatte täsmäkoulutusta?

    Kysy lisätietoja tai tarjousta alta tai varaa suoraan tapaaminen, jossa kartoitetaan juuri teidän tarpeenne.

    ETU 3+ HENGEN RYHMILLE

    Ryhmäliput aina -10 % edullisemmin.

    Onnea! Olet tekemässä oikeaa päätöstä, kun tuot kollegasi myös oppimaan. Ryhmäliput on ostettavissa 3 hengen tiimeistä ylöspäin. Osta ryhmäliput suoraan verkkokaupasta tai kysy tarjousta tai p. 0400 949 099 (Johanna Niittula, Head of Sales).

    UUTTA: PROFESSIO+

    Tämäkin kuuluu Professio+ -tilaukseen.

    Osallistu tähän – ja moneen muuhun koulutukseen ja tapahtumaan – yhdellä Professio+ -tilauksella. Saat käyttöösi myös verkkokurssit, digisisällöt ja 24/7 apunasi olevan AI Learning Coachin.

    Koulutusinfo.

    Jäikö jokin muu asia mietityttämään? Vastauksia usein kysyttyihin kysymyksiin löydät täältä.

    Aina 360° osallistumistakuu.

    Vaikka missonamme on tehdä Suomesta maailman osaavin kansa, ulottuu yhteydet aina maailman ympäri.  Toteutetaanpa koulutus etänä verkon välityksellä, paikan päällä tai hybridinä, toteutustapa on muovattu kaikkiin toteutusmuotoihin soveltuvaksi eikä vuorovaikutuksellisuutta ole unohdettu. 

    Mietityttääkö jokin muu koulutukseen liittyen? Ei tekosyitä kouluttautumiselle, taklaamme ne kaikki.