Est-ce qu'un verrou Java, utilisé dans synchronized(objet_verrou) est un sémaphore de valeur 1 ? Peut-on affirmer cela du point de vue du développeur Java tel que moi par exemple (je pense que oui), mais aussi du point de vue de l'implémentation-langage de ces mécanismes (classe Semaphore et mécanisme synchronized) ?
Non, ce n'est pas pareil. Un sémaphore peut être manipulé par deux threads différents, alors qu'un verrou doit être libéré par le thread qui l'a acquis. D'ailleurs, l'usage d'un sémaphore (même binaire) est plus large qu'un simple verrou (mutex), il peut être initialisé a zéro par exemple.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte