Szkolenie programowanie asynchroniczne i równoległe w C#

Poziom

Zaawansowany

Czas

16h / 2 dni

Termin

Indywidualnie

Cena

Indywidualnie

Szkolenie z programowania asynchronicznego i równoległego w C#

Szkolenie jest przeznaczone dla programistów .NET, którzy chcą świadomie projektować, implementować i analizować kod asynchroniczny oraz równoległy w C#. Obejmuje mechanizmy async/await, TPL, ThreadPool, synchronizację, obsługę wyjątków, anulowanie zadań, integrację kodu synchronicznego z asynchronicznym oraz praktyczne aspekty pracy w aplikacjach ASP.NET i Entity Framework. Celem szkolenia jest przygotowanie uczestników do tworzenia wydajniejszych, bardziej responsywnych i bezpieczniejszych w utrzymaniu aplikacji, z uwzględnieniem ograniczeń, ryzyk, debugowania i profilowania kodu współbieżnego.

Dla kogo jest to szkolenie?
  • logo infoshare Dla osób posiadającą średnio-zaawansowaną lub zaawansowaną wiedzę w programowaniu z wykorzystaniem .NET i C#
  • logo infoshare Dla programistów .NET, którzy chcą rozwinąć swoją wiedzę o bardzo ważny aspekt, jakim jest programowanie w modelu asynchronicznym
  • logo infoshare Dla programistów, którzy potrzebują wiedzy na temat budowy wydajnych aplikacji

Czego nauczysz się na tym szkoleniu?

  • Poznasz kluczowe mechanizmy programowania asynchronicznego w C# i ich wpływ na wydajność oraz responsywność aplikacji
  • Zrozumiesz sposób działania aplikacji wykorzystujących async/await, Task, ThreadPool i TPL
  • Dowiesz się, jakie są zalety asynchroniczności, ale też jakie ryzyka niesie ze sobą ten model programowania
  • Poznasz narzędzia i techniki debugowania oraz profilowania kodu asynchronicznego
  • Zyskasz wiedzę przydatną w pracy programisty .NET na poziomie Senior .NET Developer

Program szkolenia

Dzień 1

 

Moduł 1: Programowanie asynchroniczne cz. 1

  • Zasady działania kodu asynchronicznego
  • Mechanizm działania kodu z wykorzystaniem operacji async/await
  • Maszyna stanów w kodzie asynchronicznym
  • Wzorzec Awaiter

Moduł 2: Programowanie równoległe

  • Zagadnienia Thread, ThreadPool oraz Task
  • Biblioteka TPL (Task Parallel Library)
  • Zadania wykonywane równolegle
  • Obsługa zadań: odczyt rezultatu, kontynuacje, anulowanie działania
  • Obsługa wyjątków w zadaniach równoległych
  • Klasa Parallel
  • Struktury danych do współdzielenia zasobów oraz synchronizacji zadań wykonywanych równolegle

Moduł 3: Programowanie asynchroniczne cz. 2

  • Różnice pomiędzy async/await i bezpośrednią pracą z biblioteką TPL
  • Zadania typu I/O-bound oraz CPU-bound w kontekście asynchronicznego wykonania
  • Integracja kodu wykonywanego synchronicznie z kodem asynchronicznym
  • Integracja kodu asynchronicznego korzystającego z różnych wzorców programowania asynchronicznego

 

Dzień 2

 

Moduł 4: Asynchroniczność w ASP.NET

  • SynchronizationContext i ConfigureAwait
  • Różnice pomiędzy .NET Framework i współczesnym .NET
  • Ryzyka deadlocków w ASP.NET (.NET Framework)
  • Asynchroniczność w Entity Framework
  • Modele zadań działających w tle: wady, zalety, synchronizacja i współdzielenie zasobów

Moduł 5: Dobre praktyki w programowaniu asynchronicznym

  • Dobór modelu asynchronicznego do scenariuszy I/O-bound i CPU-bound
  • Propagacja anulowania zadań i limitów czasu
  • Obsługa wyjątków oraz agregacja błędów w kodzie asynchronicznym
  • Unikanie blokowania wątków i nadmiarowej równoległości
  • Czytelność, testowalność i utrzymywalność kodu asynchronicznego

Moduł 6: Analiza zadań asynchronicznych

  • Debugowanie kodu asynchronicznego
  • Profilowanie kodu asynchronicznego

Skontaktuj sie z nami

zorganizujemy dla Ciebie szkolenie dopasowane do Twoich potrzeb

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    Administratorem danych osobowych jest InfoShare Academy Sp. z o.o. z siedzibą w Gdańsku, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742213. Dane osobowe przetwarzane są zgodnie z klauzulą informacyjną.