Multicœur et synchronisation
Quelle description du verrou à attente active (spinlock) est correcte ?
- AVerrou qui endort le thread jusqu’à la libération et le fait réveiller par l’OS
- BVerrou qui attend la libération en examinant en boucle la variable de verrou
- CMécanisme qui protège les données en faisant tourner un disque
Afficher la réponse et l'explication
Réponse : B. Verrou qui attend la libération en examinant en boucle la variable de verrou
Le spinlock tente de prendre le verrou avec une instruction atomique et, en cas d’échec, réessaie immédiatement, de façon répétée. Sans le coût d’appeler l’OS pour s’endormir puis se réveiller, il est rapide lorsque le verrou n’est détenu que très brièvement. Il est très utilisé dans le noyau de l’OS et pour l’exclusion mutuelle avec les gestionnaires d’interruption. En revanche, il a l’inconvénient de continuer à consommer du CPU pendant l’attente.
Continuer : 9 autres questions sur Multicœur et synchronisation