ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Eine Thread-sichere Klasse mit ERROR(/PriorityBlockingQueue) -ähnlichen Operationen, die Objekte abrufen können, die einer bestimmten Bedingung entsprechen.

Die Iteration ist auch Thread-sicher, aber nicht konsistent. Eine Kopie der Warteschlange wird zum Zeitpunkt der Iteratorerstellung 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>

Eine ConditionPriorityBlockingQueue.IMatcher , die mit einem beliebigen Objekt übereinstimmt.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Eine Schnittstelle zum Bestimmen, ob Elemente einer Bedingung entsprechen.

Öffentliche Konstrukteure

ConditionPriorityBlockingQueue ()

Erstellt eine ConditionPriorityBlockingQueue

Elemente werden in 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 jedes vorhandene Objekt, das der angegebenen Bedingung entspricht

void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

boolean contains (T object)

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

getCopy ()

Rufen Sie eine Kopie des Inhalts der Warteschlange ab.

iterator ()

T poll (long timeout, TimeUnit unit)

Ruft das Minimum ab und entfernt es (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange).

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

Ruft das Minimum ab und entfernt es (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange, wobei matcher.matches(T) true ist).

T poll ( IMatcher <T> matcher)

Ruft das Minimum ab und entfernt es (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange, wobei 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 (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange).

T take ( IMatcher <T> matcher)

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

Öffentliche Konstrukteure

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Erstellt eine ConditionPriorityBlockingQueue

Elemente werden in FIFO-Reihenfolge priorisiert.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Erstellt eine ConditionPriorityBlockingQueue

Parameter
c : der ERROR(/Comparator) der verwendet wird, um die Warteschlange zu priorisieren.

Ö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

Wirft
wenn das angegebene Element nicht mit Elementen verglichen werden kann, die sich gemäß der Reihenfolge der Prioritätswarteschlange derzeit in der Prioritätswarteschlange befinden
wenn das angegebene Element null ist

addUnique

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

Fügt dieser Warteschlange ein Element hinzu und ersetzt jedes vorhandene Objekt, das der angegebenen Bedingung entspricht

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 existiert

klar

public void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

enthält

public boolean contains (T object)

Bestimmen Sie, ob ein Objekt derzeit 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> sonst.

getCopy

public  getCopy ()

Rufen Sie eine Kopie des Inhalts der Warteschlange ab.

Kehrt zurück

Iterator

public  iterator ()

Kehrt zurück

Umfrage

public T poll (long timeout, 
                TimeUnit unit)

Ruft das Minimum ab und entfernt es (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange).

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

Parameter
timeout long : die Wartezeit, bis ein Element verfügbar wird

unit TimeUnit : der ERROR(/TimeUnit) der Zeitüberschreitung

Kehrt 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 ab und entfernt es (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange, wobei matcher.matches(T) true ist).

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

Parameter
timeout long : die Wartezeit, bis ein Element verfügbar wird

unit TimeUnit : der ERROR(/TimeUnit) der Zeitüberschreitung

matcher IMatcher : der IMatcher zum Auswerten von Elementen

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

Umfrage

public T poll (IMatcher<T> matcher)

Ruft das Minimum ab und entfernt es (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange, wobei matcher.matches(T) true ist).

Parameter
matcher IMatcher : der IMatcher zum Auswerten von Elementen

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

Umfrage

public T poll ()

Ruft den Kopf dieser Warteschlange ab und entfernt ihn.

Kehrt zurück
T den 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> sonst.

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 (gemäß dem bereitgestellten ERROR(/Comparator) -Element T in der Warteschlange).

Blockiert auf unbestimmte Zeit, damit ein Element verfügbar wird.

Kehrt zurück
T der Kopf dieser Warteschlange

Wirft
bei Unterbrechung während des Wartens

nehmen

public T take (IMatcher<T> matcher)

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

Parameter
matcher IMatcher : der IMatcher zum Auswerten von Elementen

Kehrt zurück
T das abgestimmte Element

Wirft
bei Unterbrechung während des Wartens