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.Citation:
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.Citation:
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).