Programowanie asynchroniczne w C++ - Structured Concurrency
Cele szkolenia
Po zakończeniu szkolenia uczestnicy będą potrafili:
- identyfikować ograniczenia
std::threadorazstd::future - stosować korutyny do implementacji asynchronicznych zadań
- projektować asynchroniczne algorytmy zgodnie z paradygmatem Structured Concurrency
- budować złożone potoki asynchroniczne za pomocą standardowych adapterów (Sender adaptors)
- implementować obsługę błędów oraz możliwość anulowania zadania w przepływach asynchronicznych
- wykorzystywać
std::taskz C++26 do płynnej współpracy z korutynami
Plan szkolenia
Ewolucja asynchroniczności w C++ (od C++11 do C++26)
- Problemy klasycznego podejścia
- Ograniczenia std::thread, std::future i std::promise
- Zarządzanie zasobami w implementacjach wykorzystujących callback'i
- Korutyny w C++20
- Structured Concurrency w C++26 - Senders/Receivers
Korutyny
- Korutyny jako uogólnienie funkcji
- Mechanika korutyn w C++
- Punkty zawieszenia -
co_await - Typ zwracany z korytyny
- Interfejs korutyny
promise_type - Uchwyt korutyny -
std::coroutine_handle
- Punkty zawieszenia -
- Awaiters & Awaitable
- Tworzenie własnych typów zadań
- Implementacja typów
TaskiGenerator - Symetryczny Transfer
- Implementacja typów
Senders/Receivers - std::execution
- Trzy filary abstrakcji:
- Schedulers - zarządzanie miejscem i czasem wykonania (thread pools, GPU, execution contexts)
- Senders - opis operacji asynchronicznej (leniwa ewaluacja)
- Receivers - obsługa wyniku, błędów lub anulowania
- Kompozycja operacji asynchronicznych
- Budowanie potoków (pipelines) za pomocą adapterów
- Algorytmy asynchroniczne
- Anulowanie operacji asynchronicznych
- Obsługa błędów w algorytmach asynchronicznych
- Integracja z korutynami -
std::task- Awaitable Senders
Wymagania
Opanowane tematy ze szkolenia Programowanie wielowątkowe w języku C++.
Czas trwania
3 dni po 8 godzin lekcyjnychWycena szkolenia zamkniętego
Szkolenie zamknięte w siedzibie Klienta.
Klient zapewnia salę szkoleniową i sprzęt.
Zapytaj o termin i cenęWycena szkolenia zdalnego
Szkolenie zamknięte w siedzibie Klienta.
Szkolenie live online. Warsztaty z trenerem.
Zapytaj o termin i cenę