7. diel - RAII a chytré zamykanie v C ++
V predchádzajúcej lekcii, Synchronizovaná front a vzor producent - konzument v C ++ , sme si vyskúšali
std::mutex prakticky. Naimplementovali sme synchronizovanú front
BlockingQueue, ktorá využíva mutex pre synchronizáciu prístupu
ku vnútornej fronte. Analyzovali sme možné správanie triedy pre viac
vlákien a opäť si pripomenuli, že je potrebné premýšľať paralelne.
Potom sme túto triedu použili v návrhovom vzore producent -
konzument. Nakoniec sme prišli na niekoľko problémov, ktoré môžu
spôsobiť zlé správanie aplikácie alebo jej pád. V dnešnej lekcii sa
zameriame na jednu skupinu problémov a tým sú neodemknuté alebo zabudnuté
mutexy.
Zabudnutý mutex
Už sme si vysvetlili, že jeden mutex definuje jeden synchronizovaný blok. Ďalej vieme, že pri pokuse o zamknutí už zamknutého mutexu sa vlákno zablokuje a nie je odblokované skôr, než je mutex odomknutý.
...koniec náhľadu článku...
Pokračuj ďalej
Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.
ročné PREDPLATNÉ
44 €
mesačne, platené ročne (528 €)14 000+ lekcií, cvičení a testov
6 000+ ti zostane navždy
Neobmedzený prístup ku všetkým aktuálnym
aj pripravovaným kurzom.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
45 €
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.
- Prístup k jednotlivým lekciám podľa spôsobu obstarania.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V lekcii sa pozrieme na idiom RAII a popíšeme si zámky std :: lock_guard a std :: unique_lock zo štandardnej knižnice.