Dekkersův algoritmus

Autor: Robert Simon
Datum Vytvoření: 17 Červen 2021
Datum Aktualizace: 24 Červen 2024
Anonim
Dekkersův algoritmus - Technologie
Dekkersův algoritmus - Technologie

Obsah

Definice - Co znamená Dekkersův algoritmus?

Dekkerův algoritmus je první známý algoritmus, který řeší problém vzájemného vyloučení při současném programování. Je připsána Th. J. Dekker, nizozemský matematik, který vytvořil algoritmus pro další kon. Algoritmus Dekkers se používá ve frontě procesů a umožňuje dvěma různým vláknům sdílet stejný prostředek pro jedno použití bez konfliktů pomocí sdílené paměti pro komunikaci.


Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje Dekkersův algoritmus

Algoritmus Dekker umožní zdroji použít pouze jeden proces, pokud se jej pokusí použít dva procesy současně. Vrcholem algoritmu je to, jak tento problém řeší. Úspěšně předchází konfliktu vynucením vzájemného vyloučení, což znamená, že prostředek může používat současně pouze jeden proces a bude čekat, až jej použije jiný proces. Toho je dosaženo použitím dvou „příznaků“ a „tokenu“. Tyto příznaky označují, zda proces chce vstoupit do kritické sekce (CS) nebo ne; hodnota 1 znamená PRAVDA, že proces chce vstoupit do CS, zatímco 0, nebo FALSE, znamená opak. Token, který může mít také hodnotu 1 nebo 0, označuje prioritu, když oba procesy mají své příznaky nastaveny na PRAVDA.

Tento algoritmus může úspěšně vynutit vzájemné vyloučení, ale bude neustále testovat, zda je kritická sekce k dispozici, a proto ztrácí značný čas procesoru. Vytváří problém známý jako synchronizace lockstep, ve kterém může každé vlákno provádět pouze při přísné synchronizaci. Je také nerozšiřitelný, protože podporuje pouze dva procesy pro vzájemné vyloučení.