ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Eine threadsichere Klasse mit ERROR(/PriorityBlockingQueue) -ähnlichen Operationen, die Objekte abrufen kann, die einer bestimmten Bedingung entsprechen.

Die Iteration ist ebenfalls threadsicher, aber nicht konsistent. Zum Zeitpunkt der Iteratorerstellung wird eine Kopie der Warteschlange erstellt und diese Kopie wird als Iterationsziel verwendet. Wenn die Warteschlange während der Iteration geändert wird, wird kein ERROR(/ConcurrentModificationException) ausgelöst, aber der Iterator spiegelt auch nicht den geänderten Inhalt wider.

Zusammenfassung

Verschachtelte Klassen

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

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

interface ConditionPriorityBlockingQueue.IMatcher <T>

Eine Schnittstelle zum Bestimmen, ob Elemente einer Bedingung entsprechen.

Öffentliche Bauträger

ConditionPriorityBlockingQueue ()

Erstellt eine ConditionPriorityBlockingQueue

Elemente werden in der FIFO-Reihenfolge priorisiert.

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( 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 alle vorhandenen Objekte, die der angegebenen Bedingung entsprechen

void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

boolean contains (T object)

Stellen Sie fest, ob derzeit ein Objekt in dieser Warteschlange enthalten ist.

getCopy ()

Holen Sie sich eine Kopie des Inhalts der Warteschlange.

iterator ()

T poll (long timeout, TimeUnit unit)

Ruft das Minimum ab und entfernt es (beurteilt durch das bereitgestellte ERROR(/Comparator) -Element T in der Warteschlange.

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

Ruft das Minimum ab und entfernt es (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt, in dem matcher.matches(T) true ist.

T poll ( IMatcher <T> matcher)

Ruft das Minimum ab und entfernt es (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt, in dem matcher.matches(T) true ist.

T poll ()

Ruft den Kopf dieser Warteschlange ab und entfernt ihn.

boolean remove (T object)

Entfernt ein Element aus dieser Warteschlange.

int size ()
T take ()

Ruft das Minimum ab und entfernt es (beurteilt durch das bereitgestellte ERROR(/Comparator) -Element T in der Warteschlange.

T take ( IMatcher <T> matcher)

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

Öffentliche Bauträger

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Erstellt eine ConditionPriorityBlockingQueue

Elemente werden in der FIFO-Reihenfolge priorisiert.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Erstellt eine ConditionPriorityBlockingQueue

Parameter
c : der ERROR(/Comparator) der zur Priorisierung 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 niemals blockieren.

Parameter
addedElement T : das hinzuzufügende Element

Kehrt zurück
boolean true

Würfe
ClassCastException wenn das angegebene Element gemäß der Reihenfolge der Prioritätswarteschlange nicht mit Elementen verglichen werden kann, die sich derzeit in der Prioritätswarteschlange befinden
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 alle vorhandenen Objekte, die der angegebenen Bedingung entsprechen

Parameter
matcher IMatcher : Der Matcher zum Auswerten vorhandener Objekte

object T : das hinzuzufügende Objekt

Kehrt zurück
T das ersetzte Objekt oder null wenn keines vorhanden ist

klar

public void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

enthält

public boolean contains (T object)

Stellen Sie fest, ob derzeit ein Objekt in dieser Warteschlange enthalten ist.

Parameter
object T : das zu findende Objekt

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

getCopy

public  getCopy ()

Holen Sie sich eine Kopie des Inhalts der Warteschlange.

Kehrt zurück

Iterator

public  iterator ()

Kehrt zurück

Umfrage

public T poll (long timeout, 
                TimeUnit unit)

Ruft das Minimum ab und entfernt es (beurteilt durch das bereitgestellte ERROR(/Comparator) -Element T in der Warteschlange.

Blockiert bis zur timeout Zeit, bis ein Element verfügbar wird.

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

unit TimeUnit : der ERROR(/TimeUnit) des Timeouts

Kehrt zurück
T das minimal übereinstimmende Element oder null , wenn keine übereinstimmenden Elemente vorhanden sind

Umfrage

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

Ruft das Minimum ab und entfernt es (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt, in dem matcher.matches(T) true ist.

Blockiert bis zur timeout Zeit, bis ein Element verfügbar wird.

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

unit TimeUnit : der ERROR(/TimeUnit) des Timeouts

matcher IMatcher : Der IMatcher der zum Auswerten von Elementen verwendet werden soll

Kehrt zurück
T das minimal übereinstimmende Element oder null , wenn keine übereinstimmenden Elemente vorhanden sind

Umfrage

public T poll (IMatcher<T> matcher)

Ruft das Minimum ab und entfernt es (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt, in dem matcher.matches(T) true ist.

Parameter
matcher IMatcher : Der IMatcher der zum Auswerten von Elementen verwendet werden soll

Kehrt zurück
T das minimal übereinstimmende Element oder null , wenn keine übereinstimmenden Elemente vorhanden sind

Umfrage

public T poll ()

Ruft den Kopf dieser Warteschlange ab und entfernt ihn.

Kehrt zurück
T der Kopf 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

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

Größe

public int size ()

Kehrt zurück
int die Anzahl der Elemente in der Warteschlange

nehmen

public T take ()

Ruft das Minimum ab und entfernt es (beurteilt durch das bereitgestellte ERROR(/Comparator) -Element T in der Warteschlange.

Blockiert die Verfügbarkeit eines Elements auf unbestimmte Zeit.

Kehrt zurück
T der Kopf dieser Warteschlange

Würfe
InterruptedException wenn es während des Wartens unterbrochen wird

nehmen

public T take (IMatcher<T> matcher)

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

Parameter
matcher IMatcher : Der IMatcher der zum Auswerten von Elementen verwendet werden soll

Kehrt zurück
T das passende Element

Würfe
InterruptedException wenn es während des Wartens unterbrochen wird