![Dekkersov algoritmus - Technológie Dekkersov algoritmus - Technológie](https://a.continuousdev.com/technology/dekkers-algorithm.png)
Obsah
- Definícia - Čo znamená Dekkersov algoritmus?
- Úvod do programu Microsoft Azure a Microsoft Cloud V tejto príručke sa dozviete, o čom všetko je cloud computing a ako vám môže Microsoft Azure pomôcť migrovať a podnikať z cloudu.
- Techopedia vysvetľuje Dekkersov algoritmus
Definícia - Čo znamená Dekkersov algoritmus?
Dekkerov algoritmus je prvý známy algoritmus, ktorý rieši problém vzájomného vylúčenia pri súčasnom programovaní. Je pripísaná Th. J. Dekker, holandský matematik, ktorý vytvoril algoritmus pre iný kon. Algoritmus Dekkers sa používa vo fronte procesov a umožňuje dvom rôznym vláknam zdieľať ten istý prostriedok na jedno použitie bez konfliktov pomocou komunikácie na zdieľanej pamäti.
Úvod do programu Microsoft Azure a Microsoft Cloud V tejto príručke sa dozviete, o čom všetko je cloud computing a ako vám môže Microsoft Azure pomôcť migrovať a podnikať z cloudu.
Techopedia vysvetľuje Dekkersov algoritmus
Algoritmus spoločnosti Dekker umožní použitie prostriedku iba v prípade, ak sa ho dva procesy pokúšajú použiť súčasne. Vrcholom algoritmu je spôsob riešenia tohto problému. Podarí sa mu zabrániť konfliktu vynútením vzájomného vylúčenia, čo znamená, že prostriedok môže súčasne používať iba jeden proces a bude čakať, ak ho použije iný proces. Dosahuje sa to použitím dvoch „príznakov“ a „tokenu“. Tieto príznaky označujú, či proces chce vstúpiť do kritickej časti (CS) alebo nie; hodnota 1 znamená PRAVDA, že proces chce vstúpiť do CS, zatiaľ čo 0 alebo FALSE znamená opak. Token, ktorý môže mať aj hodnotu 1 alebo 0, označuje prioritu, keď majú oba procesy svoje príznaky nastavené na PRAVDA.Tento algoritmus môže úspešne vynútiť vzájomné vylúčenie, ale bude neustále testovať, či je kritická časť k dispozícii, a preto stráca značný čas procesora. Vytvára problém známy ako synchronizácia blokovania synchronizácie, pri ktorom môže každé vlákno vykonávať iba pri prísnej synchronizácii. Je tiež nerozširovateľný, pretože podporuje iba dva procesy vzájomného vylúčenia.