Présentation
L'asynchronisme est devenu un sujet à la mode. A tel point que certains développeurs pensent qu'il s'agit d'une recette magique permettant d'améliorer les performances de leur application de façon exceptionnelle.
Seulement voilà, il arrive parfois qu'on rencontre des déconvenues... Pourquoi ? Et bien tout simplement car l'asynchronisme n'a rien de magique, et ce cours va vous montrer et expliquer pas-à-pas tout ce qu'il est possible de faire avec l'asynchronisme (et ce qu'il n'est pas recommandé ou inutile de faire également), et nous irons en profondeur sur les aspects avancés, pour que vous compreniez réellement l'impact de l'utilisation de l'asynchronisme sur votre projet !
Ainsi, nous reprendrons les bases de l’asynchronisme, sujet connu par une large majorité de développeurs C#, puis nous verrons des cas d'usages avancés, comme l'annulation, le parallélisme ou les nouveautés liées à l'asynchronisme en C# 8.
Le sujet est vaste et varié, c'est pourquoi il est recommandé d'avoir des connaissances sur le langage C# pour pouvoir suivre les explications et les exemples. Si vous avez des connaissances XAML et/ou IL, c'est encore mieux. Toutefois, ce n'est pas obligatoire, car les choses seront expliquées en profondeur pour que même les non initiés puissent comprendre. Si vous souhaitez vraiment comprendre et maitriser l'asynchronisme en C#, ce cours est pour vous et vous amènera à un autre niveau de compréhension. Vous ne verrez plus async/await de la même façon après ...
Seulement voilà, il arrive parfois qu'on rencontre des déconvenues... Pourquoi ? Et bien tout simplement car l'asynchronisme n'a rien de magique, et ce cours va vous montrer et expliquer pas-à-pas tout ce qu'il est possible de faire avec l'asynchronisme (et ce qu'il n'est pas recommandé ou inutile de faire également), et nous irons en profondeur sur les aspects avancés, pour que vous compreniez réellement l'impact de l'utilisation de l'asynchronisme sur votre projet !
Ainsi, nous reprendrons les bases de l’asynchronisme, sujet connu par une large majorité de développeurs C#, puis nous verrons des cas d'usages avancés, comme l'annulation, le parallélisme ou les nouveautés liées à l'asynchronisme en C# 8.
Le sujet est vaste et varié, c'est pourquoi il est recommandé d'avoir des connaissances sur le langage C# pour pouvoir suivre les explications et les exemples. Si vous avez des connaissances XAML et/ou IL, c'est encore mieux. Toutefois, ce n'est pas obligatoire, car les choses seront expliquées en profondeur pour que même les non initiés puissent comprendre. Si vous souhaitez vraiment comprendre et maitriser l'asynchronisme en C#, ce cours est pour vous et vous amènera à un autre niveau de compréhension. Vous ne verrez plus async/await de la même façon après ...
Contenu du cours
40 leçons · 7 sections
Contenu du cours
40 leçons · 7 sections
Introduction 2 leçons · 11min
- Introduction4:54
- Un peu de théorie : notions de base6:38
Les bases de l'asynchronisme 9 leçons · 47min
- Démo du projet et des problèmes si on utilise pas l'asynchronisme4:44
- Async et await : les mots clés magiques ?6:32
- Le contexte lors de l'await8:34
- Exercice : votre première méthode asynchrone1:56
- Corrigé : votre première méthode asynchrone4:21
- La gestion des exceptions avec le code asynchrone6:26
- Démarrer du code synchrone de façon asynchrone3:55
- Attendre du code asynchrone dans du code synchrone6:35
- Récapitulatif : que faire et qu'éviter en asynchrone ?3:59
Concepts avancés sur l'asynchronisme 9 leçons · 57min
- Démo du projet pour ce module2:17
- Annulation d'une tâche asynchrone, c'est possible ?7:44
- Mise en pratique de l'annulation d'une tâche asynchrone6:53
- Exercice : lancement de tâches asynchrones en parallèle2:52
- Corrigé : lancement de tâches asynchrones en parallèle7:41
- Découverte de TPL : Task Parallel Library6:28
- TPL : La classe Parallel9:34
- Gérer le timeout de code asynchrone (avec et sans token)8:14
- Le statut d'une tâche et la continuation5:31
Concepts avancés supplémentaires 7 leçons · 57min
- Reporter la progression d'une tâche11:34
- Faire le boulot du framework ? Découvrons TaskCompletionSource12:02
- Migrer le code legacy vers async/await facilement5:14
- Rappels sur le fonctionnement IEnumerable3:38
- C# 8 : IAsyncEnumerable4:34
- C# 8 : IAsyncDisposable5:10
- Découverte ValueTask15:44
Dans le code généré 5 leçons · 48min
- L'impact du mot clé async5:48
- La création de la state machine6:35
- Analyse de la state machine (async void)8:23
- Analyse de la state machine (async Task<T>)14:57
- Analyse de la state machine (multiples await)12:20
Créer son type d'awaiter 4 leçons · 35min
- Créer son propre awaiter5:14
- Créer son propre type de tâche (1)11:15
- Créer son propre type de tâche (2)9:58
- Créer son propre type de tâche (3)8:39
Asynchronisme et web 4 leçons · 24min
- Synchrone ou asynchrone en web ?8:40
- Syndrome async avec les requêtes HTTP3:27
- Les appels HTTP et l'annulation5:09
- Améliorer le comportement ASP.NET Core en cas d'annulation7:12
Avis sur le cours
5,0
3 avis
5
3
4
0
3
0
2
0
1
0
-
Galaad Bigos 3 mars 2024
Formation d'excellente qualité. Les explications sont claires et précises. Nous allons vraiment jusqu'au cœur du sujet.
-
Adel Sattari 27 novembre 2022
-
Nicolas Lair 20 juin 2022
Excellente formation. Tout est très clair, les exemples sont bien choisis pour voir les subtilités de l'asynchronisme. J'ai pu mettre en pratique très rapidement les différents concepts. Je recommande donc cette formation, je n'ai rien trouvé de plus complet sur ce le sujet.

