Package ch.hslu.exercises.sw06.ex4
Interface Buffer<T>
- Type Parameters:
T
- Element Typ.
- All Known Implementing Classes:
BoundedBuffer
public interface Buffer<T>
Puffer (First In First Out) mit einer begrenzten Kapazität. Der Puffer ist thread sicher.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Ein Element T speichern.boolean
Ein Element T speichern oder nach einem Timeout abbrechen.boolean
empty()
Gibt, ob der Puffer leer ist.boolean
full()
Gibt, ob der Puffer voll ist.remove()
Liest und entfernt ein Element.remove
(long millis) Liest und entfernt ein Element oder nach einem Timeout abbrechen.int
size()
Gibt die Anzahl im Puffer gespeicherten Elemente zurück.
-
Method Details
-
add
Ein Element T speichern. Falls der Puffer voll ist, warten bis ein Platz frei wird.- Parameters:
elem
- zu speicherndes Element.- Throws:
InterruptedException
- wenn das Warten unterbrochen wird.
-
add
Ein Element T speichern oder nach einem Timeout abbrechen. Falls der Puffer voll ist, warten bis ein Platz frei wird.- Parameters:
elem
- zu speicherndes Element.millis
- Timeout bis zum Abbruch.- Returns:
- true, wenn Element gespeichert wurde, false, wenn Timeout eingetreten ist.
- Throws:
InterruptedException
- wenn das Warten unterbrochen wird.
-
remove
Liest und entfernt ein Element. Falls der Puffer leer ist, warten bis ein Platz belegt wird.- Returns:
- gelesenes Element.
- Throws:
InterruptedException
- falls das Warten unterbrochen wird.
-
remove
Liest und entfernt ein Element oder nach einem Timeout abbrechen. Falls der Puffer leer ist, warten bis ein Platz belegt wird.- Parameters:
millis
- Timeout bis zum Abbruch.- Returns:
- gelesenes Element.
- Throws:
InterruptedException
- falls das Warten unterbrochen wird.
-
empty
boolean empty()Gibt, ob der Puffer leer ist.- Returns:
- true wenn der Puffer leer ist, sonst false.
-
full
boolean full()Gibt, ob der Puffer voll ist.- Returns:
- true wenn der Puffer voll ist, sonst false.
-
size
int size()Gibt die Anzahl im Puffer gespeicherten Elemente zurück.- Returns:
- Anzahl Elemente.
-