Algorithme de la boulangerie
Un article de Wikipédia, l'encyclopédie libre.
|
|
Sommaire |
[modifier] Présentation de l'algorithme
L'algorithme de la boulangerie est un algorithme d'exclusion mutuelle. Cet algorithme utilise de l'attente active pour garantir l'exclusion mutuelle.
[modifier] L'algorithme
Pour réaliser cet algorithme, pour garantir l'exclusion mutuelle avec N taches, il faut disposer de deux tableaux de dimension N (nommé par la suite CHOIX et COMPTEUR). L'algorithme est séparé en trois partie, à savoir l'initialisation, l'entrée en section critique et la sortie de la section critique.
[modifier] Initialisation
Initialiser toutes les case de COMPTEUR à -1. Initialiser toutes les case de CHOIX à 0.
[modifier] Entrée en section critique
(i indique le numéro du thread souhaitant entrer en section critique)
CHOIX = 1 COMPTEUR = 1 + max(COMPTEUR) CHOIX = 0 J = i + 1 TANTQUE J <> i FAIRE TANTQUE CHOIX[i] <> 1 FAIRE rien FIN TANTQUE SI COMPTEUR[i] > COMPTEUR[j] ET COMPTEUR[j] <> -1 ALORS TANTQUE COMPTEUR[j] <> -1 FAIRE rien FIN TANTQUE FIN SI J = (J + 1) modulo N FIN TANTQUE
[modifier] Sortie de la section critique
(i indique le numéro du thread souhaitant sortie de la section critique)
COMPTEUR[i]=-1
[modifier] Voir aussi
![]() |
Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique. |