Programowanie współbieżne w języku C++
Czas trwania szkolenia:3 dni (24h)
Kod kursu:CPP/MT
Poziom zaawansowania:
O szkoleniu Programowanie współbieżne w języku C++
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Średnio zaawansowanych programistów programujących w języku C++
- Osób znających w podstawowym zakresie system szablonów biblioteki standardowej C++
- Osób pracujących z systemami udostępniającymi programistom mechanizmy wielowątkowości
Wymagania
- Posługiwanie się wybranym środowiskiem IDE
- Znajomość koncepcji programowania obiektowego
- Znajomość koncepcji związanych z programowaniem w języku C++ na poziomie średnio zaawansowanym (polimorfizm, zarządzanie pamięcią)
Zalety
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Zapoznanie ze sposobami implementowania wielowątkowości we własnych aplikacjach
- Zapoznanie z mechanizmami obsługi wielowątkowości w ramach biblioteki standardowej
- Zapoznanie z wzorcami obsługi wielowątkowości
Program
Wprowadzenie do programowania współbieżnego
- Architektura nowoczesnych komputerów i systemów operacyjnych
- Wielowątkowość i wieloprocesowość
- Szeregowanie procesów i wątków
Podstawowa wielowątkowość w C++
- Powoływanie wątków
- Oczekiwanie na zakończenie wątków
- Identyfikacja wątków
Synchronizacja wątków
- Wzajemne wykluczanie
- Muteksy
- Zmienne warunkowe i monitory
- Semafory
Specjalne typy danych
- Typy i operacje atomowe
- Zmienne lokalne dla wątku
- Jednokrotna inicjalizacja
- Obietnice
Wzorce wykorzystania wielowątkowości
- Kolejka zadań
- Bariery
- Pula wątków
- Blokada odczyt-zapis
- Struktury danych bez blokad
Wieloprocesowość w systemach uniksowych
- Powoływanie procesów
- Komunikacja między procesami
- Synchronizacja procesów (IPC SysV)