IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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

Vedomosti v hodnote stoviek tisíc získaš za pár korún

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

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 315 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 23 článkom (23 lekcií) s kontrolou a certifikáciou a ešte naviac ušetríš 211 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 40% zľavu.

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.

Čo od nás v ďalších lekciách dostaneš?
  • 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ť.

Článok pre vás napísal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity