ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


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

Die Iteration ist ebenfalls threadsicher, 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>

Ein ConditionPriorityBlockingQueue.IMatcher , der 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 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 jedes vorhandene Objekt, das der angegebenen Bedingung entspricht

void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

boolean contains (T object)

Stellen Sie fest, ob ein Objekt derzeit 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 (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt.

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

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

T poll ( IMatcher <T> matcher)

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

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 (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt.

T take ( IMatcher <T> matcher)

matcher.matches(T) das erste Element T in der Warteschlange ab und entfernt es, in dem matcher.matches(T) true ist. Warten Sie gegebenenfalls, bis ein solches Element verfügbar ist.

Öffentliche Konstrukteure

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) , mit dem die Warteschlange priorisiert 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 blockiert.

Parameter
addedElement T : das hinzuzufügende Element

Kehrt zurück
boolean true

Würfe
ClassCastException wenn das angegebene Element nicht mit Elementen verglichen werden kann, die sich derzeit in der Prioritätswarteschlange gemäß der Reihenfolge 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 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 vorhanden ist

klar

public void clear ()

Entfernt alle Elemente aus dieser Warteschlange.

enthält

public boolean contains (T object)

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

Parameter
object T : das zu findende Objekt

Kehrt zurück
boolean true wenn ein bestimmtes Objekt in der Warteschlange enthalten ist. false> sonst.

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 (wie anhand des bereitgestellten ERROR(/Comparator) -Elements T in der Warteschlange beurteilt.

Blockiert die timeout , bis ein Element verfügbar ist.

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

unit TimeUnit : Der TimeUnit ERROR(/TimeUnit) des Timeouts

Kehrt zurück
T das minimale ü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 durch das bereitgestellte ERROR(/Comparator) -Element T in der Warteschlange matcher.matches(T) in der matcher.matches(T) true .

Blockiert die timeout , bis ein Element verfügbar ist.

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

unit TimeUnit : Der TimeUnit ERROR(/TimeUnit) des Timeouts

matcher IMatcher : Der IMatcher , mit dem Elemente ausgewertet werden

Kehrt zurück
T das minimale ü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 durch das bereitgestellte ERROR(/Comparator) -Element T in der Warteschlange matcher.matches(T) in der matcher.matches(T) true .

Parameter
matcher IMatcher : Der IMatcher , mit dem Elemente ausgewertet werden

Kehrt zurück
T das minimale ü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 ein bestimmtes 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 (gemessen am 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

Würfe
InterruptedException wenn während des Wartens unterbrochen

nehmen

public T take (IMatcher<T> matcher)

matcher.matches(T) das erste Element T in der Warteschlange ab und entfernt es, in dem matcher.matches(T) true ist. Warten Sie gegebenenfalls, bis ein solches Element verfügbar ist.

Parameter
matcher IMatcher : Der IMatcher , mit dem Elemente ausgewertet werden

Kehrt zurück
T das übereinstimmende Element

Würfe
InterruptedException wenn während des Wartens unterbrochen