IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 5 - Synchronizace vláken v C++ - Volatile a Mutex

V minulé lekci, Plánování a stavy vláken v C++, jsme si relativně podrobně popsali, jak operační systém nakládá s vlákny aplikace a jakým způsobem je plánuje na procesoru. Také jsme si ukázali, že pomocí metody sleep() můžeme vlákno na určitou dobu uspat a metodou yield() se vzdáváme aktuálního timeslice.

Dnes se konečně podíváme na synchronizaci vláken v C++. Řekneme si, proč ji potřebujeme a jakým způsobem jí docílit.

Synchronizace

Co se stane, když více vláken přistupuje k jedné proměnné, jsme viděli v předchozí lekci. Pro osvěžení si příklad ukážeme ještě jednou. Vlákna inkrementují globální proměnnou a přitom by se měla (alespoň teoreticky) střídat. Prakticky tomu ale tak není a tak bude výsledná hodnota jiná, než bychom očekávali:


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 525 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 23 článkům (23 lekcí) tohoto kurzu.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V C++ tutoriálu si vysvětlíme principy synchronizace a proč ji potřebujeme. Řekneme si, k čemu slouží klíčové slovo volatile a popíšeme si mutex.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

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