Asynchronní a vícevlákenné programování v Pythonu
Tento dvoudenní kurz je určen pro pokročilejší uživatele jazyka Python, kteří chtějí porozumět možnostem paralelního a asynchronního zpracování. Účastníci se seznámí s rozdíly mezi vícevláknovým, víceprocesovým a asynchronním přístupem, naučí se používat knihovny jako threading, multiprocessing, asyncio a concurrent.futures, a osvojí si techniky pro efektivní návrh programů, které zvládnou více úloh současně.
Kurz je zaměřen prakticky – účastníci si vyzkouší návrh a implementaci skriptů pro paralelní zpracování dat, síťovou komunikaci nebo správu úloh.
Kód
Python301
Délka kurzu
2
dny
(8:30 – 16:00)
Forma
V naší učebně nebo online
Termíny
Kurz určen pro
Pokročilé programátory, které zajímají techniky paralelizace a asynchronního programování.
Osnova
Modul 1: Úvod do paralelismu v Pythonu
- Motivace: proč paralelizovat
- Typy paralelismu: vlákna, procesy, asynchronní IO
- GIL – co to je a jak ovlivňuje běh programu
Modul 2: Vícevláknové programování (threading)
- Vytváření a řízení vláken
- Sdílení dat mezi vlákny
- Zámky, semafory, race conditions
- Praktické příklady: logování, monitoring
Modul 3: Víceprocesové programování (multiprocessing)
- Vytváření procesů
- Fronty, roury, sdílená paměť
- Porovnání s threading
- Praktické příklady: paralelní výpočty
Modul 4: Asynchronní programování (asyncio)
- async / await syntaxe
- Event loop, coroutines
- Tasky, future objekty
- Praktické příklady: síťová komunikace, API volání
Modul 5: concurrent.futures a kombinace přístupů
- ThreadPoolExecutor vs ProcessPoolExecutor
- Kombinace s asyncio
- Výběr správného přístupu podle typu úlohy
Modul 6: Testování a ladění paralelního kódu
- Debugging vícevláknových aplikací
- Profilování výkonu
- Detekce deadlocků a race conditions
Absolvent kurzu bude umět
- rozlišit a zvolit vhodný přístup k paralelizaci v Pythonu
- vytvářet vícevláknové a víceprocesové aplikace
- používat asynchronní programování pro IO-bound úlohy
- kombinovat různé přístupy pro efektivní návrh aplikací
- testovat a ladit paralelní kód
Požadavky pro absolvování kurzu
- znalost základů jazyka Python (např. absolvování kurzu Python101 nebo ekvivalentní znalosti)
- základy práce s funkcemi, třídami a moduly
- základní znalost práce s daty a strukturami
Technické vybavení
Všechny učebny jsou vybaveny nadstandardními počítači připojenými k Internetu, učebny jsou prostorné, klimatizované, bezbariérové a s připojením na Wi-Fi. V případě zájmu lze školení absolvovat online live.
Literatura
Všichni účastníci školení obdrží materiály společnosti OKsystem.
Ceny jsou bez DPH. OKsystem a.s. si vyhrazuje právo změnit termín a cenu školení.
Podobné kurzy
Prohlédněte si některé podobné kurzy z naší široké nabídky.
Testujeme v Pythonu Python205
Analýza dat pomocí jazyka Python Python201
Python pro programátory Python106
Potřebujete poradit?
Neváhejte se na nás obrátit. Jsme vám k dispozici a rádi vám pomůžeme.
Proč OKškolení?
Jaké jsou hlavní výhody našeho školicího centra?
36+ let na trhu
Jsme na trhu již víc než 36 let a máme v tomto oboru rozsáhlé zkušenosti.
Jsme vzdělávací středisko s bohatou historií a tradicí.
Zkušení lektoři
Základem každého kvalitního vzdělání jsou dobří a zkušení lektoři a na tom si v OKškolení obzvlášť zakládáme. Naši špičkoví lektoři tu na vás čekají.
Moderní učebny
Všechny učebny jsou prostorné, klimatizované, bezbariérové a vybaveny nadstandardními počítači, s připojením na Wi-Fi.
Benefity
Ochrana investic do vzdělávání, věrnostní program, slevy, občerstvení, dotace a další.
Kontaktujte nás
Neváhejte se na nás obrátit ať už máte jakýkoliv dotaz.
Potřebujete toho o nás vědět víc, nebo nás raději chcete kontaktovat pomocí formuláře?