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 Type
    Method
    Description
    void
    add(T elem)
    Ein Element T speichern.
    boolean
    add(T elem, long millis)
    Ein Element T speichern oder nach einem Timeout abbrechen.
    boolean
    Gibt, ob der Puffer leer ist.
    boolean
    Gibt, ob der Puffer voll ist.
    Liest und entfernt ein Element.
    remove(long millis)
    Liest und entfernt ein Element oder nach einem Timeout abbrechen.
    int
    Gibt die Anzahl im Puffer gespeicherten Elemente zurück.
  • Method Details

    • add

      void add(T elem) throws InterruptedException
      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

      boolean add(T elem, long millis) throws InterruptedException
      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

      T remove() throws InterruptedException
      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

      T remove(long millis) throws InterruptedException
      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.