10. diel - Atomické premenné v C ++ druhýkrát - spinlock
V minulej lekcii, Atomické premenné v C ++ prakticky , sme si precvičovali atomické premenné v C ++ a lock-free programovanie. V dnešnej lekcii budeme pokračovať, naučíme sa používať inštrukciu CAS a naimplementujeme si svoj vlastný mutex.
Compare and exchange
Compare and Exchange alebo tiež Compare and Swap či CAS je atomická inštrukcie v moderných procesoroch. Ide o tzv. Read - modify - write inštrukciu, teda inštrukciu, ktorá atomárny vykonáva všetky tri operácie - prečíta hodnotu, zmení ju a zapíše späť. Než si ju vysvetlíme bližšie, pozrime sa na jej deklaráciu v C ++:
bool atomic<T>::compare_exchange_weak( T& expected, T desired); bool atomic<T>::compare_exchange_strong( T& expected, T desired);
Metóda funguje tak, že porovná aktuálnu hodnotu premennej s prvým parametrom. Pokiaľ sú hodnoty rovnaké, atomické premenné sa nastaví hodnota druhého parametra a metóda vráti
...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émiovej sekcie.
ročné PREDPLATNÉ
44 €
mesačne, platené ročne (528 €)14 000+ lekcií, cvičení a testov
6 000+ ti zostane navždy
Neobmedzený prístup ku všetkým aktuálnym
aj pripravovaným kurzom.
Kúpiť iba tento kurz
Získaj okamžitý prístup ku kurzu bez
časového obmedzenia.
45 €
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkový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 C ++ tutoriálu pokračujeme v praktickom programovaní s atomickými premennými, naučíme sa používať inštrukciu CAS a naimplementujeme si svoj vlastný mutex.