Dekkersov algoritmus

Autor: Robert Simon
Dátum Stvorenia: 17 V Júni 2021
Dátum Aktualizácie: 24 V Júni 2024
Anonim
Dekkersov algoritmus - Technológie
Dekkersov algoritmus - Technológie

Obsah

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.