Konkurentné programovanie - 3. seminár z 20.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
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.
nechodím na prednášky