Multicœur et synchronisation
Quelle est l’utilisation la plus appropriée d’un sémaphore à compteur ?
- AToujours doubler la valeur d’une variable
- BRegrouper toute l’exécution du programme sur un seul thread
- CPermettre à 4 threads au plus d’utiliser simultanément une ressource dont le nombre d’utilisations simultanées est limité (par exemple 4 connexions au plus)
Afficher la réponse et l'explication
Réponse : C. Permettre à 4 threads au plus d’utiliser simultanément une ressource dont le nombre d’utilisations simultanées est limité (par exemple 4 connexions au plus)
Un sémaphore possède un compteur représentant le nombre restant ; on le décrémente avant utilisation (en attendant qu’il augmente s’il vaut 0) et on l’incrémente après utilisation. Avec une valeur initiale de 4, jusqu’à 4 threads peuvent utiliser la ressource simultanément. Avec une valeur initiale de 1, il sert à l’exclusion mutuelle comme un verrou. Les threads en attente sont généralement endormis et réveillés par l’OS.
Continuer : 9 autres questions sur Multicœur et synchronisation