Taula de continguts:
Definició: què significa l'algoritme de Dekker?
L’algorisme de Dekker és el primer algorisme conegut que resol el problema d’exclusió mútua en la programació concurrent. Està acreditat a Th. J. Dekker, matemàtic holandès que va crear l'algorisme per a un altre context. L’algoritme de Dekker s’utilitza en la cua de processos i permet que dos fils diferents comparteixin el mateix recurs d’un sol ús sense conflicte mitjançant la memòria compartida per a la comunicació.
Techopedia explica l'algoritme de Dekker
L’algoritme de Dekker permetrà només un procés utilitzar un recurs si dos processos estan intentant utilitzar-lo alhora. L’element més destacat de l’algoritme és la manera com resol aquest problema. Aconsegueix evitar el conflicte aplicant l'exclusió mútua, cosa que significa que un procés només pot utilitzar el recurs alhora i espera si un altre procés l'utilitza. Això s’aconsegueix amb l’ús de dos “banderes” i un “token”. Els indicadors indiquen si un procés vol entrar o no a la secció crítica (CS); un valor d’1 significa TRUE que el procés vol entrar al CS, mentre que 0, o FALSE, significa el contrari. El testimoni, que també pot tenir un valor d'1 o 0, indica prioritat quan els dos processos tenen els seus indicadors a TRUE.
Aquest algorisme pot fer complir amb èxit l'exclusió mútua però comprovarà constantment si la secció crítica està disponible i, per tant, perd temps significatiu en el processador. Crea el problema conegut com a sincronització de bloqueig, en el qual cada fil només es pot executar en estricta sincronització. També és no expandible, ja que només admet un màxim de dos processos d'exclusió mútua.