readerwriter
Class PriorityThreadSelector
java.lang.Object
|
+--readerwriter.PriorityThreadSelector
- All Implemented Interfaces:
- ThreadSelector
- public class PriorityThreadSelector
- extends java.lang.Object
- implements ThreadSelector
La classe PriorityThreadSelector implementa un selezionatore di Thread (interfaccia ThreadSelector),
a priorita', costruendo per ognuna delle 10 priorita' possibili una selezionatore di Thread FIFO
(FifoThreadSelector), che dovra' gestire tutti i thread che hanno la stessa priorita'.
Quando un thread viene aggiunto, a seconda della sua priorita' viene aggiunto nella coda appropriata,
il primo thread risvegliato, e' il primo thread selezionabile in modalita' FIFO, nella prima coda non
vuota in ordine di priorita' (MIN_PRIORITY -> MAX_PRIORITY)
Method Summary |
void |
addThread(SemaphoredThread newThread,
java.lang.Integer priority)
Inserisce un nuovo Thread nella lista dei Thread in attesa, a seconda della sua priorita' viene
inserito in una coda dove ci sono in attesa tutti i thread della sua stessa priorita'.
|
void |
addThread(SemaphoredThread newThread,
java.lang.Object priority)
Mettodo dell'interfaccia usato come wrapper per il metodo effettivo della classe che prende
un oggetto della classe Integer come oggetto per la definizione della priorita',
il metodo tentera' una conversione del parametro attuale in un oggetto di classe Integer ,
se la conversione non puo' avere luogo, la priorita' sara' settata a zero.
|
static void |
main(java.lang.String[] args)
|
SemaphoredThread |
removeThread()
Rimuove il Thread Thread dalla lista dei Thread in attesa; si preoccupa di
risvegliare il Thread dal suo stato di wait. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MIN_PRIORITY
public static final int MIN_PRIORITY
MAX_PRIORITY
public static final int MAX_PRIORITY
PriorityThreadSelector
public PriorityThreadSelector()
addThread
public void addThread(SemaphoredThread newThread,
java.lang.Object priority)
- Mettodo dell'interfaccia usato come wrapper per il metodo effettivo della classe che prende
un oggetto della classe
Integer
come oggetto per la definizione della priorita',
il metodo tentera' una conversione del parametro attuale in un oggetto di classe Integer
,
se la conversione non puo' avere luogo, la priorita' sara' settata a zero.
Il metodo e' thread safe
- Specified by:
addThread
in interface ThreadSelector
- Parameters:
newThread
- Thread corrente che deve essere aggiunto nella lista dei thread in attesapriority
- oggetto generico che definisce la priorita' da assegnare al Thread aggiunto
addThread
public void addThread(SemaphoredThread newThread,
java.lang.Integer priority)
- Inserisce un nuovo Thread nella lista dei Thread in attesa, a seconda della sua priorita' viene
inserito in una coda dove ci sono in attesa tutti i thread della sua stessa priorita'.
Metodo semanticamente equivalente a quello dell'interfaccia ThreadSelector, ma sintatticamente
specializzato, nella specificazione del parametro formale che definisce la priorita' che in questo
caso e' un oggetto di classe
Integer
. Il metodo e' thread safe
- Parameters:
newThread
- Thread corrente che deve essere aggiunto nella lista dei thread in attesapriority
- Integer che ne identifica la priorita', l'intero (oggetto della classe
Integer
) puo' andare da un minimo di MIN_PRIORITY ad un massimo di MAX_PRIORITY
removeThread
public SemaphoredThread removeThread()
- Rimuove il Thread Thread dalla lista dei Thread in attesa; si preoccupa di
risvegliare il Thread dal suo stato di wait. Il metodo e' thread safe
- Specified by:
removeThread
in interface ThreadSelector
- Returns:
- SemaphoredThread Il thread che e' stato selezionato dalla lista dei thread in attesa,
e che e' stato risvegliato; null se non c'erano thread in attesa al momento della chiamata
main
public static void main(java.lang.String[] args)