Objektově orientované programování v Javě: Komplexní průvodce
Klepni pro otočení · Swipni pro navigaci
17 kartiček
Otázka: Co znamená pojem paralelismus ve vícevláknovém programování?
Odpověď: Paralelismus znamená, že více vláken běží skutečně současně (provádějí více příkazů současně).
Otázka: Co je to konkurence v kontextu vícevláknového programu?
Odpověď: Konkurence nastává když více vláken sdílí CPU (jedno jádro) a rychle se střídají pomocí time slice; zdánlivě běží současně, ale ne najednou.
Otázka: Jaké jsou základní stavy životního cyklu vlákna?
Odpověď: New, Runnable, Running, Blocked/Waiting, Terminated.
Otázka: Co znamená stav New u vlákna?
Odpověď: Vlákno je vytvořené, ale ještě nebylo spuštěno.
Otázka: Co znamená stav Runnable?
Odpověď: Vlákno je připravené běžet a čeká na CPU; nastane po start().
Otázka: Co znamená stav Running a jaké operace mohou vlákno přepnout do čekajícího stavu?
Odpověď: Running znamená, že se vlákno právě provádí. Operace jako sleep(), join(), wait() mohou způsobit přechod do čekajícího stavu.
Otázka: Co znamená stav Blocked/Waiting?
Odpověď: Vlákno čeká na jiné vlákno nebo na událost (např. čeká na uvolnění zámku nebo notify()).
Otázka: Kdy je vlákno v stavu Terminated?
Odpověď: Když došlo na konec metody run() nebo vlákno skončilo výjimkou — vlákno je ukončené.
Otázka: Jaké nástroje pro správu vláken jsou zmíněné?
Odpověď: Thread (třída), Runnable (interface), ExecutorService a ScheduledExecutorService.
Otázka: K čemu slouží ExecutorService?
Odpověď: ExecutorService spravuje pool vláken.