P6: Paralelné spracovanie, robustnosť programu a reflexia

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

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.