public class PriorityChannel
extends java.lang.Object
| Constructor | Description |
|---|---|
PriorityChannel(int numberOfPriorityClasses,
int capacityPerPriorityClass) |
Legt einen neuen Kommunikationskanal an.
|
| Modifier and Type | Method | 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()