public class PriorityChannel
extends java.lang.Object
| Constructor and Description |
|---|
PriorityChannel(int numberOfPriorityClasses,
int capacityPerPriorityClass)
Legt einen neuen Kommunikationskanal an.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Löscht alle im Kommunikationskanal vorhandenen Nachrichten.
|
boolean |
isEmpty()
Bestimmt, ob der Kommunikationskanal leer ist.
|
boolean |
offer(PriorizedObject item,
long timeout)
Überträgt eine Nachricht in den Kommunikationskanal.
|
PriorizedObject |
poll(long timeout)
Empfängt und entfernt eine Nachricht aus dem Kommunikationskanal.
|
void |
put(PriorizedObject item)
Überträgt eine Nachricht in den Kommunikationskanal.
|
PriorizedObject |
take()
Empfängt und entfernt eine Nachricht aus dem Kommunikationskanal.
|
public PriorityChannel(int numberOfPriorityClasses,
int capacityPerPriorityClass)
numberOfPriorityClasses - Anzahl der zu verwendenden Prioritätsklassen. Diese sind von 0 bis
numberOfPriorityClasses-1 durchnummeriert.capacityPerPriorityClass - Maximale Anzahl der pro Prioritätsklasse im Kommunikationskanal gespeicherten
Objekte.public void put(PriorizedObject item) throws java.lang.InterruptedException
item - Objekt, das in den Kommunikationskanal übertragen werden soll.java.lang.InterruptedException - Wenn der Thread unterbrochen wurde, während auf freien Platz im Kommunikationskanal
gewartet wurde.public boolean offer(PriorizedObject item, long timeout) throws java.lang.InterruptedException
item - Objekt, das in den Kommunikationskanal übertragen werden soll.timeout - Zeit in Millisekunden, für die bei vollem Kommunikationskanal maximal auf freien Platz gewartet
wird.java.lang.InterruptedException - Wenn der Thread unterbrochen wurde, während auf freien Platz im Kommunikationskanal
gewartet wurde.public PriorizedObject take() throws java.lang.InterruptedException
java.lang.InterruptedException - Wenn der Thread unterbrochen wurde, während auf Nachrichten gewartet wurde.public PriorizedObject poll(long timeout) throws java.lang.InterruptedException
timeout - Zeit in Millisekunden, für die bei leerem Kommunikationskanal auf neue Nachrichten gewartet wird.null, wenn nach Ablauf des Timeouts immer noch keine Nachricht im
Kommunikationskanal vorhanden ist.java.lang.InterruptedException - Wenn der Thread unterbrochen wurde, während auf Nachrichten gewartet wurde.public boolean isEmpty()
true bei leerem Kommunikationskanal, sonst false.public void clear()