Konkurentné programovanie - 1. seminár zo 17.9.2024

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

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.

Otvoriť AI: ChatGPT · Claude · Gemini

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.