ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

java.lang.Object
   ↳ com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


Eine threadsichere Klasse mit PriorityBlockingQueue-ähnlichen Vorgängen, mit denen Objekte abgerufen werden können, die einer bestimmten Bedingung entsprechen.

Die Iteration ist ebenfalls threadsicher, aber nicht konsistent. Beim Erstellen des Iterators wird eine Kopie der Warteschlange erstellt, die als Iterationsziel verwendet wird. Wenn die Warteschlange während der Iteration geändert wird, wird keine ConcurrentModificationException ausgelöst, aber der Iterator spiegelt die geänderten Inhalte auch nicht wider.

Weitere Informationen

Zusammenfassung

Verschachtelte Klassen

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Ein ConditionPriorityBlockingQueue.IMatcher, das mit jedem Objekt übereinstimmt. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Eine Schnittstelle, mit der ermittelt werden kann, ob Elemente einer bestimmten Bedingung entsprechen. 

Öffentliche Konstruktoren

ConditionPriorityBlockingQueue()

Erstellt eine ConditionPriorityBlockingQueue.

Elemente werden in der Reihenfolge ihres Eingangs priorisiert.

ConditionPriorityBlockingQueue(Comparator<T> c)

Erstellt eine ConditionPriorityBlockingQueue.

Öffentliche Methoden

boolean add(T addedElement)

Fügt das angegebene Element in diese Warteschlange ein.

T addUnique(IMatcher<T> matcher, T object)

Fügt dieser Warteschlange ein Element hinzu und ersetzt dabei alle vorhandenen Objekte, die der angegebenen Bedingung entsprechen.

void clear()

Entfernt alle Elemente aus dieser Warteschlange.

boolean contains(T object)

Ermittelt, ob ein Objekt derzeit in dieser Warteschlange enthalten ist.

List<T> getCopy()

Eine Kopie des Inhalts der Warteschlange abrufen.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich true ist.

T poll(long timeout, TimeUnit unit, IMatcher<T> matcher)

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich true ist.

T poll(long timeout, TimeUnit unit)

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es.

T poll()

Ruft den Anfang dieser Warteschlange ab und entfernt ihn.

boolean remove(T object)

Entfernt ein Element aus dieser Warteschlange.

int size()
T take()

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es.

T take(IMatcher<T> matcher)

Ruft das erste Element T in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich true ist. Bei Bedarf wird gewartet, bis ein solches Element verfügbar ist.

Öffentliche Konstruktoren

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Erstellt eine ConditionPriorityBlockingQueue.

Elemente werden in der Reihenfolge ihres Eingangs priorisiert.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Erstellt eine ConditionPriorityBlockingQueue.

Parameter
c Comparator: Der Comparator, der zum Priorisieren der Warteschlange verwendet wird.

Öffentliche Methoden

Hinzufügen

public boolean add (T addedElement)

Fügt das angegebene Element in diese Warteschlange ein. Da die Warteschlange unbegrenzt ist, wird diese Methode nie blockiert.

Parameter
addedElement T: Das hinzuzufügende Element

Gibt Folgendes zurück:
boolean true

Löst aus
ClassCastException wenn das angegebene Element nicht mit Elementen verglichen werden kann, die sich derzeit in der Prioritätswarteschlange befinden, entsprechend der Reihenfolge der Prioritätswarteschlange.
NullPointerException wenn das angegebene Element null ist

addUnique

public T addUnique (IMatcher<T> matcher, 
                T object)

Fügt dieser Warteschlange ein Element hinzu und ersetzt dabei alle vorhandenen Objekte, die der angegebenen Bedingung entsprechen.

Parameter
matcher IMatcher: Der Abgleich, mit dem vorhandene Objekte ausgewertet werden

object T: das hinzuzufügende Objekt

Gibt Folgendes zurück:
T Das ersetzte Objekt oder null, falls keines vorhanden ist

Löschen

public void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

enthält

public boolean contains (T object)

Ermittelt, ob ein Objekt derzeit in dieser Warteschlange enthalten ist.

Parameter
object T: das zu findende Objekt

Gibt Folgendes zurück:
boolean true, wenn das angegebene Objekt in der Warteschlange enthalten ist. false> andernfalls.

getCopy

public List<T> getCopy ()

Eine Kopie des Inhalts der Warteschlange abrufen.

Gibt Folgendes zurück:
List<T>

iterator

public Iterator<T> iterator ()

Gibt Folgendes zurück:
Iterator<T>

Umfrage

public T poll (IMatcher<T> matcher)

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich true ist.

Parameter
matcher IMatcher: Der IMatcher, der zum Bewerten von Elementen verwendet werden soll.

Gibt Folgendes zurück:
T das kleinste übereinstimmende Element oder null, wenn es keine übereinstimmenden Elemente gibt

Umfrage

public T poll (long timeout, 
                TimeUnit unit, 
                IMatcher<T> matcher)

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich true ist.

Blockiert bis zu timeout Zeit, bis ein Element verfügbar ist.

Parameter
timeout long: Die Zeit, die gewartet wird, bis ein Element verfügbar ist

unit TimeUnit: die TimeUnit des Zeitlimits

matcher IMatcher: Der IMatcher, der zum Bewerten von Elementen verwendet werden soll.

Gibt Folgendes zurück:
T das kleinste übereinstimmende Element oder null, wenn es keine übereinstimmenden Elemente gibt

Löst aus
InterruptedException

Umfrage

public T poll (long timeout, 
                TimeUnit unit)

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es.

Blockiert bis zu timeout Zeit, bis ein Element verfügbar ist.

Parameter
timeout long: Die Zeit, die gewartet wird, bis ein Element verfügbar ist

unit TimeUnit: die TimeUnit des Zeitlimits

Gibt Folgendes zurück:
T das kleinste übereinstimmende Element oder null, wenn es keine übereinstimmenden Elemente gibt

Löst aus
InterruptedException

Umfrage

public T poll ()

Ruft den Anfang dieser Warteschlange ab und entfernt ihn.

Gibt Folgendes zurück:
T Das erste Element in dieser Warteschlange oder null, wenn die Warteschlange leer ist

Entfernen

public boolean remove (T object)

Entfernt ein Element aus dieser Warteschlange.

Parameter
object T: das zu entfernende Objekt

Gibt Folgendes zurück:
boolean true, wenn das angegebene Objekt aus der Warteschlange entfernt wurde. false> andernfalls.

Größe

public int size ()

Gibt Folgendes zurück:
int Anzahl der Elemente in der Warteschlange

Aufnahme

public T take ()

Ruft das Minimum (gemessen am bereitgestellten Comparator-Element T) in der Warteschlange ab und entfernt es.

Blockiert unbegrenzt, bis ein Element verfügbar wird.

Gibt Folgendes zurück:
T den Anfang dieser Warteschlange

Löst aus
InterruptedException Wenn Sie während des Wartens unterbrochen werden

take

public T take (IMatcher<T> matcher)

Ruft das erste Element T in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich true ist. Bei Bedarf wird gewartet, bis ein solches Element verfügbar ist.

Parameter
matcher IMatcher: Der IMatcher, der zum Bewerten von Elementen verwendet werden soll.

Gibt Folgendes zurück:
T das übereinstimmende Element

Löst aus
InterruptedException Wenn Sie während des Wartens unterbrochen werden