Asynchronous Programming in C#

  Varighed 2 dage
  Kursusnummer LB1376
  Sprog Svensk/Engelsk
  Lokation Lund&Bendsen
  Dato Se næste  
  Pris 11.800 kr.

Discover the practical power of Asynchronous Programming in C#, in this up-to-date course covering C# 11 and .NET 7. Gain the expertise needed to seamlessly architect and implement responsive, efficient and scalable applications.

In today’s dynamic software landscape, mastering asynchronous programming is more and more essential for crafting faster, hardware-optimized applications. As multi-core CPUs are now standard, parallel processing is the key to unlocking performance. While the demand for responsive interactions with remote services has only heightened the immense value that asynchronous programming can bring.

In this comprehensive two-day course for seasoned C# and .NET developers seeking to master asynchronous programming, we will cover a diverse set of libraries and tools, from threads and locks to advanced features like concurrent collections, PLINQ, Tasks, and async/await. Each library’s purpose will be demystified, helping you to pinpoint the right solutions to specific challenges.

The course offers clear, accessible explanations of the underlying theory and key terms, as well as give hardware-level insights to solidify your grasp of the material. There will also be hands-on exercises that enable you to master and apply the intricacies of asynchronous programming.

By the end of this course, you will be empowered to use asynchronous techniques to deeply optimize the efficiency, scalability and responsiveness of your applications.

Topics Covered

  • Introduction, Processes and Threads
    • Synchronous vs. Asynchronous programming
    • Processes
    • Threads
  • Thread pool
    • The cost of creating threads
    • Worker and I/O Threads
    • When not to use the thread pool
  • Tasks
    • Creating tasks
    • Returning data from a task
    • Using Tasks or Threads?
  • Waiting for tasks
  • Error Handling in Asynchronous Programming
    • Exceptions in threads
    • Exceptions in tasks
  • Cancelling tasks
    • Cancellation Token Source
    • Tokens
  • Continuations
  • Async – await
    • Async methods
    • Async state machine
    • The await keyword
    • Returning data from async methods
    • Async all the way
    • Async lambdas
    • Optimizing async/await
    • .GetAwaiter().GetResult()
    • WaitAsync
  • Task Schedulers
  • Synchronization contexts
    • SynchronizationContext vs. TaskScheduler
    • Capturing the context
  • ConfigureAwait
  • Value Tasks
    • Tasks vs ValueTasks
  • Asynchronous Streams
    • IASyncEnumerable
    • ConfigureAwait
    • Cancellation of streams
  • Async LINQ
  • And much more …

Prerequisites

To get the most out of this training, participants should have at least one year of experience as a C# developer and possess the skills covered in our C# Fundamentals course. A good understanding of C#, including generics, lambdas, and LINQ, is crucial. While previous experience in parallel or async programming is not required, participants will benefit from familiarity with basic parallel concepts.

Target Audience

Experienced C# / .Net developers who would like to enhance their applications using asynchronous and parallel programming.

 

  Varighed 2 dage
  Kursusnummer LB1376
  Sprog Svensk/Engelsk
  Lokation Lund&Bendsen
  Dato Se næste  
  Pris 11.800 kr.

Vi tilbyder også dette kursus som lukket firmahold.
Kontakt os og hør nærmere

Kursusansvarlig

Tore Nestenius Profilbillede

Tore Nestenius

Instruktør

Tore is an independent software consultant and trainer based in Helsingborg, Sweden. For the last 10 years, he has been training developers all around the world in software architecture, web security, OpenID-connect, C#/.NET and domain-driven design. When he is not teaching, he is mentoring and coaching developer teams all around Europe. He is currently working on courses in both secure development and web security that will be released through Lund&Bendsen in the coming months.

Læs mere

Øvrige kursusinstruktører

Andre kurser

Udforsk vores mange kurser