Konkurentné programovanie - 1. seminár zo 17.9.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
Prvý seminár z Konkurentného programovania vysvetľuje rozdiel medzi paralelným a distribuovaným programovaním, a to z implementačného aj výkonnostného pohľadu. Na príklade varenia kávy sa ukazuje rozdiel medzi sekvenčným a viacvláknovým prístupom a dôvod, prečo je efektívne využívanie procesora dôležité. Prednáška upozorňuje na typické problémy viacvláknových programov – náročné ladenie, nedeterministické správanie a konfliktné situácie medzi vláknami – a zdôrazňuje cieľ písať vláknovo bezpečné programy. V praktickej časti sa v jazyku Java demonštruje rozdiel medzi úlohou (Runnable) a vláknom (Thread), konkrétne rozdiel medzi zavolaním metódy run() a spustením vlákna metódou start(), pričom výstup pri opakovanom spustení programu nie je vždy rovnaký.
- Rozdiel medzi paralelným a distribuovaným programovaním
- Implementačný vs výkonnostný pohľad na paralelizmus
- Viacvláknový program a efektívne využitie procesora
- Rozhranie Runnable a trieda Thread
- Rozdiel medzi metódami run() a start()
- Nedeterminizmus poradia vykonávania vlákien
- Problémy s ladením viacvláknových programov
- Písanie vláknovo bezpečných programov
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky