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
Minul 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.
Obmedzená ponuka: Nauč sa všetko a ušetri
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.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- 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ť.