Asynchronous Programming in C#
Lesgeld
Intro Asynchronous Programming in C#
De cursus Asynchronous Programming in C# gaat van start met een bespreking van de verschillen tussen synchrone en asynchrone code. Aan de orde komen de nadelen van blocking behavior en de voordelen van parallelism en concurrency met threads en tasks. Deze cursus biedt waardevolle inzichten in het gebruik van asynchrone programmering in C#.
Synchronous versus Asynchronous
In deze sectie wordt ingegaan op hoe bij synchrone code een t
Intro Asynchronous Programming in C#
De cursus Asynchronous Programming in C# gaat van start met een bespreking van de verschillen tussen synchrone en asynchrone code. Aan de orde komen de nadelen van blocking behavior en de voordelen van parallelism en concurrency met threads en tasks. Deze cursus biedt waardevolle inzichten in het gebruik van asynchrone programmering in C#.
Synchronous versus Asynchronous
In deze sectie wordt ingegaan op hoe bij synchrone code een thread met een blocking call wacht op het resultaat. Bij asynchrone code wordt niet gewacht; in plaats daarvan voert een andere thread de call uit, terwijl de oorspronkelijke thread via een callback of ander mechanisme wordt gewaarschuwd als het resultaat klaar is. Dit maakt asynchrone programmering efficiënter en responsiever.
Cursus Asynchronous Programming in C# in .NET
Vervolgens wordt de implementatie van asynchrone code in het .NET Framework en .NET Core behandeld. Diverse patterns voor het schrijven van asynchrone code komen daarbij aan de orde. De voordelen van het gebruik van .NET Core worden besproken, en er wordt ingegaan op asynchrone algoritmes die de prestaties van applicaties kunnen verbeteren.
Async Await
Dan wordt het async await mechanisme behandeld. Aan de orde komt hoe een method voorafgegaan door het async keyword een asynchrone method wordt. In de body van de method kan dan met await op het resultaat van een asynchrone call worden afgewacht. Dit mechanisme vereenvoudigt het schrijven van asynchrone code aanzienlijk.
Synchronization
Ook het voorkomen van data corruptie door middel van synchronisatie primitieve zoals locks, mutexes en semaphores staat op het programma van de cursus Asynchronous Programming in C#. Daarbij wordt ook aandacht besteed aan race conditions en deadlocks, die veelvoorkomende problemen zijn in multi-threaded omgevingen.
Exception Handling
Verder komt exception handling in een asynchrone omgeving aan bod. Er wordt ingegaan op faulted tasks en disposable objects. Tenslotte wordt het asynchroon aanroepen van services besproken en de interactie tussen afhandeling in de frontend en de backend. Het is essentieel om exception handling goed te begrijpen om robuuste applicaties te bouwen.
Voor meer informatie over asynchrone programmering in C#, bezoek deze documentatie. Daarnaast kan deze cursus ook waardevol zijn in combinatie met onze Advanced C# Programmeren cursus, waar je je vaardigheden verder kunt ontwikkelen.
Doelgroep Cursus Asynchronous Programming in C#
Deze cursus is bedoeld voor personen die een overzicht willen krijgen van de kenmerken en functies van het .NET framework.
Voorkennis Cursus Asynchronous Programming in C#
Kennis van software development en een enige kennis van programmeren is vereist om aan deze cursus te kunnen deelnemen.
Uitvoering Training Asynchronous Programming in C#
De concepten worden behandeld aan de hand van presentatie slides. De besproken concepten worden gedemonstreerd met demo's in Visual Studio.NET. De cursustijden zijn van 9.30 tot 16.30.
Certificering Cursus Asynchronous Programming in C#
De deelnemers krijgen na het goed doorlopen van de cursus een certificaat Asynchronous Programming in C#.
Modules
Module 1 : Async Intro
- Synchronous Code
- Blocking Behavior
- Asynchronous Code
- Callbacks
- Completion Events
- Threads and Tasks
- Parallelism and Concurrency
- IO Bound Tasks
- CPU Bound Tasks
- Long Running Tasks
- Background Workers
Module 2 : Async in .NET
- Async in .NET
- IAsyncResult
- Asynchronous Patterns
- Event Based Pattern
- Task Based Pattern
- Async .NET Core
- .NET Core Benefits
- Asynchronous Algorithms
- Thread Pools
- Thread Pool Starvation
- Memory Consumption
Module 3 : Async Await
- Async Keyword
- Async Method
- Await Keyword
- Suspending Execution
- Yielding Control
- Awaitable Tasks
- ConfigureAwait
- GetAwaiter
- Task Completion
- Task Composition
- Task Object
Module 4 : Synchronization
- Race Conditions
- Deadlock
- Need for Synchronization
- Thread Safe Code
- Lock Objects
- Mutexes
- Semaphores
- Timing and Synchronization
Module 5 : Exceptions
- Exception Handling
- Asynchronous Exceptions
- Throwing Exceptions
- Task.Exception Property
- Faulted Tasks
- Catching Exceptions
- Disposable Objects
- AggregateException
Module 6 : Advanced Topics
- Async Services
- Async Request
- Ajax Calls
- Async Frontend
- Async Backend
- Await Tasks Efficiently
- WhenAll
- WhenAny