Test-and-set

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

L'instruction test-and-set est une instruction atomique utilisée en informatique pour écrire dans un emplacement mémoire et retourner la valeur d'origine de cet emplacement.

Elle permet de protéger un espace de la mémoire en cas d'accès concurrents : si plusieurs processus tentent d'accéder à la même mémoire et si un processus est en train d'effectuer un test-and-set sur cette même mémoire, alors aucun autre processus ne peut commencer un autre test-and-set jusqu'à ce que le premier processus soit terminé.

Code[modifier | modifier le code]

  • Exemple d'implémentation de la fonction en C :
 int test_and_set (int *verrou){
     int old = *verrou;
     *verrou = 1;
     return old;
     }
  • Exemple d'utilisation :
int lock(int *lock)
{
    while (test_and_set(lock) == 1);
}

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]