• [^] # 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.

    Dans mes études j'ai eu du mal a comprendre et appliquer le principe du modèle producteur/consommateur et puis un jour la révélation :
    * le producteur compte le nombre de place libre dans le tuyau et il bloque quand il n'y a plus de place libre
    * le consommateur compte le nombre de place "occupé" ou le nombre d'élément dans le tuyau et bloque si il n'y a plus rien
    * donc il nous faut
    ** un semaphore qui compte les places libre
    ** un semaphore qui compte les places occupée

    Le producteur
    * décrémente les places libres (sem_wait(place_libre) )
    ** bloque si place libre égale 0
    * produit
    * incrémente place occupée (sem_post(place_occupé) )

    Le consommateur
    * décrémente les places occupées (sem_wait(place_occupé) )
    ** bloque si place occupée égale 0
    * consomme
    * incrémente place libre (sem_post(place_libre) )

    Mais j'ai oublié la signification de V() et de P()