Ben, quand j'ai obtenu des réponses, en général je le signale et dis merci. Même si la réponse vient d'ailleurs.Envoyé par Mac LAK
C'est fou le nombre de questions posées ça et là dans les forum et qui sont "oubliées" par l'initiateur. Je trouve ça dommage.
Ici, il y a l'option [résolu], c'est le seul forum ou j'ai vu ça et c'est très sympa (encore faut-il l'utiliser...).
Ben non, ce n'est pas ce que j'ai compris. Un WFSO() sur un sémaphore n'attend QUE s'il ne peut pas être décrémenté (c'est-à-dire qu'il vaut zéro). Tant que le sémaphore est >0, le WFSO() décrémente ET continue.Envoyé par Mac LAK
Une bonne analogie, ce sont les parkings avec le panneau "complet" à l'entrée. Le sémaphore est initialisé au nombre de places dispo dans le parking. La barrière à l'entrée du parking c'est le WFSO(); tant qu'il y a de la place, c'est-à-dire qu'on peut décrémenter par 1, on passe. Dès qu'il n'y a plus de place, on est bloqué derrière la barrière et le panneau "complet" s'allume (bloqué au WFSO donc). A la caisse du parking chaque voiture qui sort libère une place (c'est le ReleaseSemaphore).
Partager