Zakres szkolenia
Szkolenie przeznaczone dla programistów chcących poznać techniki efektywnego programowania współbieżnego w języku C#. W trakcie szkolenia omawiane jest zarządzanie wątkami CLR, prawidłowa synchronizacja współdzielonych obiektów z wykorzystaniem muteksów oraz semaforów, PLINQ, Parallel Extensions.
Plan szkolenia
Wątki CLR
- Bezpośrednie używanie wątków - klasa System.Thread
- Synchronizacja wątków - klasy Monitor, Mutex, Semaphore
- Unikanie zakleszczeń
- Synchronizacja za pomocą zdarzeń - Event Wait Handles
- Bariery
-
Leniwa inicjalizacja
- Double-Checked Locking Pattern
- Lazy<T>
- Zegary - Timers
Programowanie współbieżne w .NET Framework
- Pula wątków CLR - korzystanie z wątków puli CLR
- Parallel Extensions - klasa Parallel
- Parallel LINQ - PLINQ
-
Task Parallel Library
- klasa Task
- kontynuacje zadań
- kooperatywny model anulowania zadań
- Metody asynchroniczne w C# - async - await
- Kolekcje thread-safe w .NET Framework
Wzorce programowania współbieżnego
- Wzorzec Producer-Consumer
- Wzorzec Active Object
Debugowanie i testowanie kody wielowątkowego
- Testowanie kodu współbieżnego
-
Typowe problemy i ich rozwiązania
- lock contention
- lock convoys
- oversubscription
- partitioning problems
- i/o bottlenecks
3 dni po 8 godzin lekcyjnych