Class BufferedQueue<E>


  • public class BufferedQueue<E>
    extends java.lang.Object
    Queue zum Austausch von Nachrichten zwischen Threads. Mit der Methode put(E) können beliebige Objekte (Nachrichten) in die Queue eingetragen (gesendet) werden und i.a. von einem anderen Thread mit den Methode take() aus der Queue entnommen (empfangen) werden. Die Anzahl der Nachrichten in der Queue ist beschränkt. Die Nachrichten werden in der Reihenfolge empfangen in der sie versendet wurden (first in first out, FIFO). Gesendete Nachrichten stehen erst dann empfangsseitig zur Verfügung, wenn die halbe Kapizität der Queue erreicht ist oder die Methode flush() aufgerufen wurde.
    • Constructor Summary

      Constructors 
      Constructor Description
      BufferedQueue​(int capacity)  
    • Method Summary

      Modifier and Type Method Description
      void flush()  
      void put​(E message)
      Sendet eine Nachricht in die Queue.
      E take()
      Empfängt und entfernt eine Nachricht aus der Queue.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BufferedQueue

        public BufferedQueue​(int capacity)
    • Method Detail

      • flush

        public void flush()
                   throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • put

        public void put​(E message)
                 throws java.lang.InterruptedException
        Sendet eine Nachricht in die Queue.
        Parameters:
        message - Zu versendende Nachricht.
        Throws:
        java.lang.InterruptedException
      • take

        public E take()
               throws java.lang.InterruptedException
        Empfängt und entfernt eine Nachricht aus der Queue. Wenn die Queue leer ist, dann wartet die Methode, bis eine Nachricht in die Queue gesendet wurde. Wenn mehrere Nachrichten in der Queue vorhanden sind, wird die Nachricht empfangen und entfernt, die als erstes in die Queue gesendet wurde.
        Returns:
        Empfangene Nachricht.
        Throws:
        java.lang.InterruptedException - Wenn der Thread unterbrochen wurde während auf Nachrichten gewartet wurde.