Signaldrift for skjermer:
- Signaloperasjonen for monitorer er kjent som signal() eller varsle()
– Den brukes til å varsle den ventende tråden om at den delte ressursen er blitt tilgjengelig.
- Når signaloperasjonen kalles opp, frigjør monitoren låsen og den ventende tråden får fortsette.
Signaloperasjon for semaforer:
- Signaloperasjonen for semaforer er kjent som V() eller up()
- Den brukes til å øke verdien på semaforen.
- Når signaloperasjonen kalles, økes semaforen med 1, noe som indikerer at ytterligere en ressursenhet har blitt tilgjengelig.
Viktige forskjeller:
- Monitorer bruker en tilstandsvariabel for å sikre at tråder bare venter på den spesifikke ressursen de trenger, mens semaforer bruker en binær semafor for å sikre at bare én tråd kan få tilgang til en delt ressurs om gangen.
- Skjermer brukes til synkronisering mellom tråder som får tilgang til delte ressurser, mens semaforer brukes for gjensidig ekskludering mellom tråder som har tilgang til delte ressurser.