Programowanie wielowątkowe w języku C
- 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
- 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
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.
- 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
-
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
-
Współpraca procesów
- tradycyjne mechanizmy synchronizujące współpracę procesów - przegląd
- mechanizmy strukturalne implementowania synchronizacji
-
Wzajemne wykluczanie i dostęp do sekcji krytycznych
- mechanizmy wzajemnego wykluczania
- prawidłowa implementacja wzajemnego wykluczania
-
Semafory
- tradycyjne operacje semaforowe
- modyfikacje operacji semaforowych
- zmienne decyzyjne i ich współpraca z semaforami
- współpraca wielu semaforów
-
Bariery
- rodzaje barier i ich implementacja
- metody wznawiania działania wątków
-
Blokady wirujące (ang. spinlock)
- zastosowanie blokad wirujących
- szacowanie wydajności blokad wirujących
-
Obsługa anulowania wątku
- deklaracja punktów anulowania
- tryby anulowania wątków
-
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ą
-
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


