Lekce 19 - Read-Write zámky v C++ - Další implementace
V minulé lekci, Read-Write zámky v C++, jsme si zabývali read-write zámky - entitami umožňujícími při správném použití extrémně zrychlit aplikaci.
V dnešním C++ tutoriálu si ukážeme další implementace Read-Write zámků, ve kterých nedojde k zablokování neprioritní operace.
ReadFirstBatchWriteLock
Po skončení zápisu je minulá třída v jedinečné situaci - žádné vlákno aktuálně nedrží zámek. V předchozí implementaci jsme probudili čtecí vlákna, ale tím jsme se připravili o příležitost, protože nedovedeme dopředu určit, kdy zas bude zámek k dispozici pro zápis.
Třída ReadFirstBatchWriteLock
se snaží této situace
využít. Jestliže je jednou zámek získán pro zápis, provede všechny
zápisy, které čekají ve frontě. Jinak řečeno, jakmile se vlákna pro
zápis jednou chopí příležitosti, neuvolní zámek, dokud nejsou
hotova:
...konec náhledu článku...
Pokračuj dál
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
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- 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 ukážeme další implementace Read-Write zámků, ve kterých nedojde k zablokování neprioritní operace.
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íť.