Konkurentné programovanie - 3. seminár z 20.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

Prednáška z Konkurentného programovania sa venuje vláknovej bezpečnosti tried a spôsobom, ako zaistiť konzistentný stav objektu pri súbežnom prístupe viacerých vlákien. Preberajú sa mechanizmy ako volatile, synchronized a atomické triedy (AtomicReference, AtomicInteger, AtomicLong, AtomicBoolean), pričom najbezpečnejšou voľbou zostáva final premenná. Osobitná pozornosť patrí problému uniknutia stavu (state escape), vrátane nebezpečného odovzdávania referencie this z nedokončeného konštruktora, čo sa rieši statickou tovarenskou metódou namiesto verejného konštruktora. Ďalej sa rozoberá konzistentnosť stavu pri zmene viacerých previazaných premenných a koncept vlastníctva stavu, kde si trieda stav ponecháva, odovzdáva jeho nemennú kópiu, alebo sa spolieha na vláknovo bezpečný stavový objekt.

  • Vláknovo bezpečné triedy a atomicita operácií
  • volatile a synchronized na zabezpečenie aktuálnosti hodnôt
  • Atomické triedy AtomicReference, AtomicInteger, AtomicLong, AtomicBoolean
  • Final premenné ako najbezpečnejší spôsob zdieľania stavu
  • Uniknutie stavu (state escape) a jeho riziká
  • Uniknutie referencie this z nedokončeného konštruktora
  • Statická tovarenská metóda namiesto verejného konštruktora
  • Konzistentnosť a vlastníctvo stavu (ownership)

Zhrnutie pripravené s pomocou AI z prepisu videa.