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émiové sekcie.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
675 kreditov
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íš so zmluvný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.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.