readerwriter
Class Semaphore
java.lang.Object
|
+--readerwriter.Semaphore
- public class Semaphore
- extends java.lang.Object
Semaforo per la protezione in mutua esclusione di una risorsa condivisa da piu' thread,
i quali, per accedere alla risorsa devono eseguire l'opearazione di down()
sul semaforo, il quale in base al suo stato (e quindi agli altri thread presenti o meno),
quando il thread potra' proseguire in tranquillita', senza preoccuparsi di situazioni
critiche; una volta terminato l'utilizzo della risorsa, il thread dovra' informare il
semaforo eseguendo sullo stesso l'oprazione di up()
private Semaphore sem = new Semaphore();
...
sem.down(); // da questo punto in poi si puo' entrare nella regione critica
// REGIONE CRITICA
sem.up(); // il thread informa il semaforo, che sta' uscendo dalla regione critica
Constructor Summary |
Semaphore()
Inizializza allo stato di default lo stato interno |
Method Summary |
Semaphore |
down()
Esegue la classica operazione di P su di un semaforo, che ha termine quando nessun thread e'
nella regione critica, e quando, secondo i turni di arrivo delle richieste di P dei thread
(gestite in maniera FIFO), il thread attuale avra' il diritto di accedere alla regione critica |
Semaphore |
up()
Esegue la classica operazione di V su di un semaforo, informando il semaforo, che il thread
sta per lasciare la regione critica |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Semaphore
public Semaphore()
- Inizializza allo stato di default lo stato interno
down
public Semaphore down()
- Esegue la classica operazione di P su di un semaforo, che ha termine quando nessun thread e'
nella regione critica, e quando, secondo i turni di arrivo delle richieste di P dei thread
(gestite in maniera FIFO), il thread attuale avra' il diritto di accedere alla regione critica
- Returns:
- Semaphore Il semaforo sul quale si sta operando
up
public Semaphore up()
- Esegue la classica operazione di V su di un semaforo, informando il semaforo, che il thread
sta per lasciare la regione critica
- Returns:
- Semaphore Il semaforo sul quale si sta operando