|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--readerwriter.Guardian
La classe concrete definiranno le priorita' di accesso alla risorsa condivisa, da parte di Lettori e Scrittori, in base alla situazione esistente : Lettori/Scrittori che gia' occupano la risorsa, Lettori/Scrittori che sono in attesa dell'utilizzo della risorsa. La classe astratta Guardian, implementa i metodi base di gestione dei lettori/scrittori per una risorsa condivisa accessibile in lettura (inizioLettura/fineLettura) ed in scrittura (inizioScrittura/fineScrittura)
Constructor Summary | |
Guardian()
Inizializza allo stato di default le variabili private della classe |
Method Summary | |
protected int |
decrNumReaders()
Decrementa il numero di lettori della risorsa ATTENZIONE : Il numero di lettori non puo' essere negativo |
protected int |
decrNumWriters()
Decrementa il numero di scrittori della risorsa ATTENZIONE : Il numero di scrittori non puo' essere negativo |
void |
fineLettura()
Determina la fine dell'operazione di lettura da parte di un thread |
void |
fineScrittura()
Determina la fine dell'operazione di scrittura da parte di un thread |
protected int |
getNumReaders()
Ritorna il numero di lettori attualmente in attesa della risorsa, oppure in lettura sulla stessa |
protected int |
getNumWriters()
Ritorna il numero di scrittori attualmente in attesa della risorsa, oppure in scrittura sulla stessa |
protected void |
incrNumReaders()
Incrementa il numero di lettori della risorsa |
protected void |
incrNumWriters()
Incrementa il numero di scrittori della risorsa |
void |
iniziaLettura(java.lang.Object priority)
Determina l'inizio dell'operazione di lettura da parte di un thread |
void |
iniziaScrittura(java.lang.Object priority)
Determina l'inizio dell'operazione di scrittura da parte di un thread |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Guardian()
Method Detail |
public void iniziaLettura(java.lang.Object priority) throws SemaphoredThreadRequireException
priority
- L'ogetto che rappresenta la priorita' da attribuire all'operazioneSemaphoredThreadRequireException
- Eccezione lanciata se il thread che sta per eseguire il
metodo non e' un Thread di tipo SemaphoredThread
public void fineLettura() throws SemaphoredThreadRequireException
SemaphoredThreadRequireException
- Eccezione lanciata se il thread che sta per eseguire il
metodo non e' un Thread di tipo SemaphoredThread
public void iniziaScrittura(java.lang.Object priority) throws SemaphoredThreadRequireException
priority
- L'oggetto che rappresenta la priorita' da attribuire all'operazioneSemaphoredThreadRequireException
- Eccezione lanciata se il thread che sta per eseguire il
metodo non e' un Thread di tipo SemaphoredThread
public void fineScrittura() throws SemaphoredThreadRequireException
SemaphoredThreadRequireException
- Eccezione lanciata se il thread che sta per eseguire il
metodo non e' un Thread di tipo SemaphoredThread
protected int getNumReaders()
protected void incrNumReaders()
protected int decrNumReaders()
ATTENZIONE : Il numero di lettori non puo' essere negativo
>=0 Il numero di lettori sulla risorsa
-1 Errore, si e' cercato di decrementare il numero di lettori in maniera non consentita
protected int getNumWriters()
protected void incrNumWriters()
protected int decrNumWriters()
ATTENZIONE : Il numero di scrittori non puo' essere negativo
>=0 Il numero di scrittori sulla risorsa
-1 Errore, si e' cercato di decrementare il numero di scrittori in maniera non consentita
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |