readerwriter
Class FifoThreadSelector
java.lang.Object
|
+--readerwriter.FifoThreadSelector
- All Implemented Interfaces:
- ThreadSelector
- public class FifoThreadSelector
- extends java.lang.Object
- implements ThreadSelector
La classe FifoThreadSelector implementa un semplicissimo selezionatore di Thread (interfaccia
ThreadSelector) : un thread che viene messo in coda, viene risvegliato quando tutti quelli che
erano arrivati prima di lui a mettersi in coda sono stati risvegliati. La coda e' FIFO (First
In First Out), il primo ad essere arrivato e' anche il primo ad andarsene
Method Summary |
void |
addThread(SemaphoredThread newThread,
java.lang.Object priority)
Inserisce un nuovo Thread in coda lista dei Thread in attesa; si preoccupa di metterlo
in wait su di se stesso in attesa di essere risvegliato. |
static void |
main(java.lang.String[] args)
|
SemaphoredThread |
removeThread()
Rimuove il Thread in testa alla 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 |
FifoThreadSelector
public FifoThreadSelector()
FifoThreadSelector
public FifoThreadSelector(int fifoCapacity)
addThread
public void addThread(SemaphoredThread newThread,
java.lang.Object priority)
- Inserisce un nuovo Thread in coda lista dei Thread in attesa; si preoccupa di metterlo
in wait su di se stesso in attesa di essere risvegliato. Il metodo e' thread safe
- Specified by:
addThread
in interface ThreadSelector
- Parameters:
newThread
- Thread che viene posto in stato di wait e inserito in codapriority
- Non viene considerato
removeThread
public SemaphoredThread removeThread()
- Rimuove il Thread in testa alla 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:
- Thread Il thread che e' stato risvegliato
main
public static void main(java.lang.String[] args)