• [^] # Re: Verrous, sémaphore et mutex

    Posté par . En réponse à la dépêche Instantané sur le parallélisme et le code. Évalué à 2.

    un sémaphore est bloquant, que si son compteur interne est égal à 0.
    Si la taille du tuyau est infini, on n'a pas besoin de compter les places libres, le producteur peut produire sans contrainte, donc le système à besoin que d'un sémaphore

    J'ai oublié de parler de l'initialisation :
    au début on initialise les sémaphores:
    * le sémaphore, qui compte les places occupées, est initialisé à 0
    ** il n'y a pas eu, encore, de production
    ** les consommateurs seront bloqués en attente d'une production
    * le sémaphore, qui compte les place libre, est initialisé à la taille du tuyau
    ** le producteur peut produire autant d'élément qu'il y a de la place dans le tuyau

    Ce système fonctionne si la production et la consommation ont une vitesse moyenne équivalente, sinon le plus rapide attendra le plus lent.