Multicœur et synchronisation
Quelle comparaison entre mutex (verrou à attente en sommeil) et spinlock est correcte ?
- ALe mutex libère le CPU pendant l’attente et convient aux attentes longues, mais l’endormissement et le réveil imposent un coût à l’OS
- BLe mutex continue d’utiliser le CPU pendant l’attente et ne convient qu’aux attentes courtes
- CLe mutex et le spinlock sont la même chose sous des noms différents
Afficher la réponse et l'explication
Réponse : A. Le mutex libère le CPU pendant l’attente et convient aux attentes longues, mais l’endormissement et le réveil imposent un coût à l’OS
Lorsque le verrou n’est pas disponible, le mutex met le thread en attente et cède le CPU à d’autres threads ; l’OS le réveille à la libération du verrou. Ne gaspillant pas le CPU pendant l’attente, il convient aux attentes longues, mais l’endormissement, le réveil et le changement de contexte prennent quelques microsecondes. Les mutex des bibliothèques réelles combinent les avantages des deux, par exemple en tournant brièvement avant de s’endormir.
Continuer : 9 autres questions sur Multicœur et synchronisation