Qu'est-ce que Sémaphore ?

Mécanisme de synchronisation doté d'un compteur représentant le nombre restant. On le décrémente de 1 avant usage (en attendant s'il vaut 0) et on l'incrémente de 1 après. Sert à gérer les ressources dont le nombre d'utilisations simultanées est limité.

Nom japonais: セマフォ

« Sémaphore » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Multicœur et synchronisation.

Domaine: Multicœur et synchronisation

S'entraîner : questions sur Sémaphore

Quelle est l’utilisation la plus appropriée d’un sémaphore à compteur ?

  1. AToujours doubler la valeur d’une variable
  2. BRegrouper toute l’exécution du programme sur un seul thread
  3. 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.

« Sémaphore » dans les explications

Questions mentionnant « Sémaphore » (1)

  1. Quelle est l’utilisation la plus appropriée d’un sémaphore à compteur ?

Comparatifs incluant ce terme

Termes associés

Acquisition-libération (acquire-release) Barrière mémoire Cohérence séquentielle Compare-and-swap Course aux données (data race) Espionnage de bus (snooping) Faux partage (false sharing) Instruction atomique Interblocage (deadlock) LR/SC

Retour au glossaire