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. [...]
  • CPP_THR
  • Dĺžka 1 deň
  • 10 ITK bodov
  • 4 termíny
  • SR (230 €)

    ČR (5 300 Kč)

  • Mierne pokročilý

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.

»

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.

  • 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.
  • 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, ...).
  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
Aktuálna ponuka
Školiace miesto
Jazyk kurzu

Uvedené ceny sú bez DPH.

Školenie na mieru

Nenašli ste vhodný termín, alebo chcete školenie prispôsobiť špecifickým potrebám vášho tímu? Radi pre vás pripravíme školenie na mieru.