Kód kurzu: CPP_THR« Krok späť

Jazyk C++ – vlákna a paralelné programovanie v C++

Kurz je určený pre pokročilých vývojárov, ktorí sa chcú zoznámiť s novými konceptmi a triedami pre tvorbu prenositeľných viacvláknových aplikácií pomocou štandardných C++ 11 knižníc. Vysvetlíme typické problémy paralelných aplikácií ako napr. súbeh operácií na zdieľaných dátach ("Race Condition") alebo uviaznutie ("Deadlock"). Predstavíme vlákna ("Threads") a použitie paralelných úloh ("Task Parallelism"). Pozrieme sa aj na kritické sekcie dôležité pre vzájomné vylúčenie vlákien, ich použitie pri objektoch typu "Monitor" a na odovzdávanie správ, výhody neblokujúcich operácií a atomické dátové typy.

 DátumDníCena kurzuCena príručkyJazyk výukyLokalita 
19. 10. 2020 1 5 300 CZK v cene kurzu Český jazyk GOPAS Brno
 
4. 9. 2020 1 5 300 CZK v cene kurzu Český jazyk GOPAS Praha
 
V prípade záujmu o iný termín uvedeného kurzu, kontaktujte klientsky servis, prosím.

PobočkaDníKatalógová cenaCena príručkyITB
Praha1 5 300 CZK v cene kurzu 10
Brno1 5 300 CZK v cene kurzu 10
Bratislava1 185,00 EUR v cene kurzu 10

Pre koho je kurz určený

Kurz je určený pre pokročilých vývojárov, ktorí sa chcú zoznámiť s novými konceptmi a triedami pre tvorbu prenositeľných viacvláknových aplikácií pomocou štandardných C++ 11 knižníc.

Čo vás naučíme

  • Používať triedy a funkcie z moderných C++ 11 viacvláknových knižníc.
  • Vytvárať aplikácie schopné využiť súčasný masívne paralelný hardware.
  • Premýšľať o základných problémoch návrhu paralelného software.

Požadované vstupné znalosti

  • Skúsenosť s programovaním v jazyku C++.
  • Triedy, konštruktory, deštruktory, automatická správa zdrojov.
  • Veľkou výhodou sú predchádzajúce skúsenosti s tvorbou viacvláknových aplikácií pomocou iných knižníc (Posix, WinAPI, MFC, ...).

Metódy výučby

Odborný výklad s praktickými ukážkami.

Študijné materiály

Materiály ku kurzu v elektronickej podobe.

Osnova kurzu

  1. Vlákna
    • Vytváranie vlákien pomocou triedy Thread
    • Fork and Join model
    • Samostatné vlákna
    • Odovzdávanie parametrov
    • Transport výnimiek
  2. Paralelné úlohy
    • Vytváranie paralelných úloh pomocou Async
    • Návratová hodnota paralelnej úlohy, trieda Future
    • Čakanie na výsledok paralelnej úlohy
    • Trieda Packaged_task
    • Trieda Promise a detaily triedy Future
    • Trieda Shared_future.
  3. Kritické sekcie
    • Trieda Mutex
    • Vzťah "Happens-before", zamykanie a odomykanie.
    • Trieda Lock_guard a Unique_lock
    • Monitor objekty
    • Jednorázová inicializácia pomocou Call_once.
  4. Signalizovanie pomocou Condition Variables
    • Producent a konzument
    • Metódy Notify a Wait
    • Falošné prebudenie (Spurious Wakeup)
    • Protokol v súvislosti so zmenou stavu zdieľanej premennej
  5. Atomické typy
    • Trieda Atomic
    • Blokujúce a neblokujúce operácie
    • Lock-free dátové štruktúry
Elektronické prezentace probírané látky

Cena:
cena kurzu zahŕňa
Uvedené ceny sú bez DPH.


Graf nadväzností kurzov