Cena Netto:
3 200.00 PLN
Brutto: 3 936.00 PLN
Nadchodzące szkolenia:
Generuj PDF

Zapisz się

Opis

  • szacowanie wydajności przyszłej aplikacji wielowątkowej
  • korzystanie z mechanizmów dostarczanych przez system operacyjny oraz bibliotekę pthread
  • prawidłowe stosowanie mechanizmów synchronizacyjnych
  • testowanie komponentów wielowątkowych

Cel

  • umiejętność programowania wielowątkowego i stosowania mechanizmów asynchronicznych
  • zdolność szacowania wydajności przyszłej aplikacji wielowątkowej
  • zapoznanie się z mechanizmami dostępnymi w bibliotece pthread
  • 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 z doświadczeniem w programowaniu z użyciem języka C, którzy chcą poszerzyć wiedzę i umiejętności o programowanie wielowątkowe.
W trakcie zajęć słuchacze zapoznają się z mechanizmami dostarczanymi przez system oraz bibliotekę pthread a także otrzymują wiedzę dotyczącą projektowania architektury aplikacji wielowątkowych. Zagadnienia teoretyczne znajdują swoje zastosowanie bezpośrednio w kodzie.
Uczestnicy szkolenia kształcą także umiejętności wyszukiwania i usuwania błędów w aplikacjach wielowątkowych z użyciem narzędzi na licencjach otwartych.

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

Wymagania:

  • umiejętność programowania w języku C
  • umiejętność biegłej pracy w wybranym środowisku IDE
  • 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 pthread
    • szeregowanie wątków
  2. Współpraca procesów
    • tradycyjne mechanizmy synchronizujące współpracę procesów - przegląd
    • mechanizmy strukturalne implementowania synchronizacji
  3. Wzajemne wykluczanie i dostęp do sekcji krytycznych
    • mechanizmy wzajemnego wykluczania
    • prawidłowa implementacja wzajemnego wykluczania
  4. Semafory
    • tradycyjne operacje semaforowe
    • modyfikacje operacji semaforowych
    • zmienne decyzyjne i ich współpraca z semaforami
    • współpraca wielu semaforów
  5. Bariery
    • rodzaje barier i ich implementacja
    • metody wznawiania działania wątków
  6. Blokady wirujące (ang. spinlock)
    • zastosowanie blokad wirujących
    • szacowanie wydajności blokad wirujących
  7. Obsługa anulowania wątku
    • deklaracja punktów anulowania
    • tryby anulowania wątków
  8. Projektowanie aplikacji wielowątkowych
    • metody projektowania aplikacji wielowątkowych
    • szacowanie stopnia wielowątkowości i przyszłego skalowania aplikacji
    • obsługa błędów związanych z wielowątkowością
  9. 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