public class UnboundedQueue<E> extends Object
put(E)
können beliebige Objekte
(Nachrichten) in die Queue eingetragen (gesendet) werden und i.a. von einem anderen Thread mit den Methoden take()
oder poll(long)
aus der Queue entnommen (empfangen) werden. Die generische Queue kann durch Angabe eines
Typs auf diesen bestimmten Objekttypen arbeiten. Die Anzahl der Nachrichten in der Queue ist nicht beschränkt. Die
Nachrichten werden in der Reihenfolge empfangen in der sie versendet wurden (first in first out, FIFO).Modifier and Type | Field and Description |
---|---|
private LinkedList<E> |
_list |
Constructor and Description |
---|
UnboundedQueue() |
private final LinkedList<E> _list
public void put(E message)
message
- Zu versendende Nachricht.public E take() throws InterruptedException
InterruptedException
- Wenn der Thread unterbrochen wurde während auf Nachrichten gewartet wurde.public E poll(long timeout) throws InterruptedException
timeout
- Zeit in Millisekunden, für die bei leerer Queue auf neue Nachrichten gewartet wird.null
, wenn nach Ablauf des Timeouts immer noch keine Nachricht in der
Queue vorhanden ist.InterruptedException
- Wenn der Thread unterbrochen wurde während auf Nachrichten gewartet wurde.public int size()