P6: Paralelné spracovanie, robustnosť programu a reflexia
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
Prednáška v úvode pripomína požiadavky na pracovnú verziu projektu: prezentovať treba fungujúci program s niekoľkými triedami, ideálne s dedením a polymorfizmom, bez nutnosti používateľského rozhrania, a priebežne ho verzovať na GitHube. Krátko sa vracia k serializácii, ktorá vyžaduje jeden koreňový objekt a nehodí sa na čiastočné úpravy veľkých dát, na čo je vhodnejšia databáza. Hlavná téma, paralelné spracovanie, sa vysvetľuje otázkou, ako beží viac programov na jednom procesore: striedaním kontextu a viacerými jadrami. Pojem thread (niť) sa vysvetľuje analógiou s nitami myšlienok a križovatkou so semaforom. V Jave sa niť vytvára odvodením od triedy Thread, jej činnosť sa implementuje v metóde run a spúšťa sa metódou start.
- - Pracovná verzia projektu: fungujúci základ s viacerými triedami, dedením a polymorfizmom, bez nutnosti GUI.
- - Priebežná práca a história verzií na GitHube je súčasťou hodnotenia.
- - Serializácia potrebuje jeden koreňový objekt, z ktorého sú dosiahnuteľné všetky ostatné; nehodí sa na úpravu jednotlivých položiek, na to slúži databáza.
- - Viac programov beží naraz vďaka prepínaniu kontextu (uloženie a obnovenie stavu) a vďaka viacerým jadrám procesora.
- - Niť (thread) je línia vykonávania; paralelné spracovanie rozdeľuje úlohu do prúdov, aby program nezamrzol a zostal interaktívny.
- - V Jave sa niť vytvorí odvodením od triedy Thread a implementáciou metódy run.
- - Niť sa spúšťa volaním metódy start, nie run.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky