Cvičení 1
Zápočtové podmínky
Viz stránky předmětu.
Průběh cvičení
- Podíváme se na základy práce s procesy a vlákny v Pythonu.
- Ukázky v Pythonu:
Úkoly
- Ve svém oblíbeném programovacím jazyce implementujte sdílěný (globální) čítač (bez synchronizace) a ověřte, že řešení není funkční. Vytvořte funkci, která dle zadaného parametru spustí daný počet vláken. Každé vlákno inkrementuje čítač. K inkrementaci čítače použijte funkci, která:
- náhodný čas počká
- zkopíruje hodnotu z globálního čítače do jeho lokální kopie
- náhodný čas počká
- inkrementuje lokální kopii čítače
- náhodný čas počká
- uloží hodnotu z lokálního kopie do globálního čítače
- Promyslete, kde a proč vznikají chyby.