Implemetare semeaforo generalizzato con monito
Posted by carlo88 on 14-04-2012 15:32
Ciao a tutti,

ho bisogno di un aiuto per implementare un semaforo generalizzato attraverso un monitor. Bruschi spesso lo mette nel compitino e dato che a lezione non mi sono chiarito completamente le idee volevo sapere se ho fatto giusto.


monitor semaforo

int sem
condition semaphore

#DOWN
sem = sem -1
if (sem < 0) then wait(semaphore)

#UP
sem = sem +1
if (sem <= 0) then signal(semaphore)

quindi uso la variabile intera sem come contatore e se ha un valore negativo significa che c'è qualche processo in coda altrimenti se >=0 significa che è libero quindi alzo il semaforo.

Potete confermarmi se ho capito bene?

Grazie :?
Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited