Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 18 - Read-Write zámky v C++

V minulé lekci, Semafory v C++, jsme si zabývali semafory - strukturami sloužící k signalizaci mezi vlákny.

V dnešním C++ tutoriálu nás čeká další zajímavé, ale poněkud komplikované téma, které nám umožní vyšší optimalizaci našich vícevláknových aplikací - Read-Write zámky.

Motivace

V lekci Synchronizace vláken v C++ jsme se zabývali pojmem race condition. Ten označuje situaci, kdy několik vláken přistupuje ke stejnému prostředku (například k paměti) a navzájem si nekontrolovaně mění data. Na příkladech jsme si ukázali, jaké situace mohou nastat a jak se může výsledná hodnota měnit v závislosti na pořadí instrukcí. Z hlediska standardu je chování zcela nedefinované a program poté může provést libovolnou akci (třeba vypustit jaderné hlavice :) ).

Je jedna situace, při které race condition nastat nemůže - pokud


 

...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.

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

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • 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 se podíváme na read-write zámky, entity umožňující při správném použití extrémně zrychlit aplikaci.
Č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