Formularz kontaktowy

Close

    Szkolenie

    Osoba zgłaszająca


    Opis

    Umiejętności zdobywane podczas kursu:

    • szacowanie wydajności przyszłej aplikacji wielowątkowej
    • korzystanie z mechanizmów dostarczanych przez system operacyjny oraz bibliotekę Boost
    • prawidłowe stosowanie mechanizmów synchronizacyjnych w idiomie programowania proceduralnego i obiektowego
    • testowanie komponentów wielowątkowych
    • znajomość i zakres stosowania wzorców projektowych związanych z wielowątkowością

    Cel

    • umiejętność programowania wielowątkowego i stosowania mechanizmów asynchronicznych
    • zdolność szacowania wydajności przyszłej aplikacji wielowątkowej
    • określanie i prawidłowe stosowanie wzorców związanych z programowaniem wielowątkowym we własnej aplikacji
    • zapoznanie się z mechanizmami dostępnymi w bibliotece Boost
    • identyfikacja mechanizmów synchronizacji i reagowania aplikacji na problemy wynikające z działania wątków

    Grupa docelowa

    Szkolenie przeznaczone jest dla programistów, którzy w swojej codziennej pracy posługują się językiem C++ i chcą wydajnie implementować obsługę wielowątkowości i wieloprogramowości. Zajęcia skupiają się na aspektach praktycznych związanych z mechanizmami, które znajdą swoje odzwierciedlenie w następnej wersji biblioteki standardowej języka.

     

    Kurs obejmuje także zagadnienia teoretyczne, których znajomość umożliwia prawidłowe oszacowanie wydajności przyszłej aplikacji oraz orientacyjny koszt jej konserwacji. Zagadnienia teoretyczne mają swoje bezpośrednie przełożenie na praktyczne aspekty codziennej pracy programisty.

     

     

    W trakcie zajęć szeroko omawiane są mechanizmy dostarczane przez bibliotekę  Boost oraz wstępnie mechanizmy dostarczane przez bibliotekę pthread (mającą swój rodowód w języku C).

    Wymagania

    • umiejętność programowania proceduralnego i obiektowego w języku C++
    • umiejętność biegłej pracy w wybranym środowisku IDE
    • praktyka w programowaniu systemowym w języku C będzie bardzo pomocna
    • znajomość podstaw związanych z programowaniem systemowym będzie bardzo pomocna

    Konspekt

    1. Programowanie wielowątkowe – wyzwania i problemy
      • rodzaje implementacji wieloprocesowości i wielowątkowości
      • dostępne w języku C++ mechanizmy implementowania wielowątkowości i wieloprocesowości
      • implementacja biblioteki Boost
      • implementacja biblioteki pthread
      • szeregowanie wątków
      • obiektowe programowanie i wątki
    2. Współpraca procesów
      • tradycyjne mechanizmy synchronizujące współpracę procesów – przegląd
      • mechanizmy strukturalne implementowania synchronizacji
      • mechanizmy obiektowe implementowania synchronizacji
    3. Wzajemne wykluczanie i dostęp do sekcji krytycznych
      • mechanizmy wzajemnego wykluczania
      • typy blokad wzajemnego wykluczania
      • prawidłowa implementacja wzajemnego wykluczania
      • jednokrotna inicjalizacja
    4. Funkcje blokad
      • tradycyjne operacje semaforowe
      • implementacja blokad w bibliotece Boost
      • zmienne decyzyjne i ich współpraca z blokadami
      • współpraca wielu blokad
    5. Bariery
      • bariery i ich implementacja w bibliotece Boost
      • metody wznawiania działania wątków
    6. Wzorce projektowe wielowątkowości
      • rodzaje wzorców projektowych związanych z wielowątkowością
      • zakres zastosowań wzorców
      • implementowanie wybranych wzorców projektowych związanych z wielowątkowością
    7. Projektowanie aplikacji wielowątkowych
      • metody projektowania aplikacji wielowątkowych
      • rola i zastosowanie wzorców projektowych związanych z wielowątkowością
      • szacowanie stopnia wielowątkowości i przyszłego skalowania aplikacji
      • obsługa błędów związanych z wielowątkowością w bibliotece Boost
    8. Testowanie aplikacji wielowątkowych
      • testy jednostkowe i ich specyfika w aplikacjach wielowątkowych
      • diagnozowanie błędów w aplikacjach wielowątkowych
      • metody formalne testowania aplikacji wielowątkowych

    Uwagi

    Czas trwania szkolenia – 3 dni.
    Oferujemy szkolenia w naszych ośrodkach w Warszawie, Wrocławiu, Krakowie, jak i w lokalizacjach wskazanych przez klienta.
    W celu ustalenia szczegółów prosimy o kontakt na osec@osec.pl

    For more details, please contact us at osec@osec.pl

    Note: The course outline is subject to change as technology advances and the underlying job evolves. For questions or confirmation on a specific objective or topic, please contact us at osec@osec.pl
    Cena netto:4659 PLNCena brutto:5730.57 PLNOpis

    Kurs przyjęty do powyższej kalkulacji 1 EUR = 4.3729 PLN – tabela nr. 078/C/NBP/2024, z dnia 2024-04-18. Obowiązująca od: 2024-04-19. Cena w PLN jest orientacyjna (wyliczana z EUR/USD wg kursu sprzedaży NBP z dnia wystawienia faktury). Przyjmujemy wpłaty w PLN lub EURO.

    Uwaga

    Oferujemy szkolenia wirtualne, self-paced oraz stacjonarne (w Warszawie i w lokalizacjach wskazanych przez klienta).
    W celu ustalenia szczegółów prosimy o kontakt na osec@osec.pl

     

     

    Opis:

      – Termin gwarantowany (GTR)

    Terminy