Konkurentné programovanie - 6. seminár z 1.10.2024
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Seminár z Konkurentného programovania sa venuje exekútorom v balíčku java.util.concurrent ako náhrade za ručnú správu vlákien. Vysvetľuje sa rozhranie Executor a jeho rozšírenie ExecutorService, ktoré pridáva metódy na riadenie životného cyklu vlákien (shutdown, shutdownNow, isShutdown, isTerminated, awaitTermination) a na zadávanie úloh (execute, submit, invokeAll, invokeAny). Preberajú sa konkrétne implementácie vytvárané cez statické metódy triedy Executors – newFixedThreadPool, newCachedThreadPool, newSingleThreadExecutor a newScheduledThreadPool – a rozdiely v počte spravovaných vlákien a čase ich vytvárania. Na úvod je krátko vysvetlená aj oprava chyby s AtomicInteger a metódou putIfAbsent z predchádzajúceho cvičenia. Prednáška uzatvára diskusiou o tom, prečo nie je vhodné mať neobmedzený počet vlákien.
- Executor a ExecutorService
- Metódy shutdown, shutdownNow, isShutdown, isTerminated
- awaitTermination a blokujúce čakanie na ukončenie vlákien
- Zadávanie úloh cez execute, submit, invokeAll, invokeAny
- Executors.newFixedThreadPool
- Executors.newCachedThreadPool a newSingleThreadExecutor
- Executors.newScheduledThreadPool na plánované úlohy
- Optimálny počet vlákien vzhľadom na počet jadier procesora
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky