ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
😎 | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
Eine Thread-sichere Klasse mit ERROR(/PriorityBlockingQueue)
-ähnlichen Vorgängen, die Objekte abrufen können
die eine bestimmte Bedingung erfüllen.
Iterationen sind auch threadsicher, aber nicht konsistent. Eine Kopie der Warteschlange wird am Iterator erstellt.
und diese Kopie wird als Iterationsziel verwendet. Wenn Warteschlange geändert wird während
wird kein ERROR(/ConcurrentModificationException)
ausgegeben,
auch nicht die geänderten Inhalte.
Weitere Informationen:
Zusammenfassung
Verschachtelte Klassen | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
Ein |
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Eine Schnittstelle, mit der bestimmt werden kann, ob Elemente eine bestimmte Bedingung erfüllen. |
Öffentliche Konstruktoren | |
---|---|
ConditionPriorityBlockingQueue()
Erstellt: Die Elemente werden in FIFO-Reihenfolge priorisiert. |
|
ConditionPriorityBlockingQueue(
Erstellt: |
Ö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. Dadurch werden alle vorhandenen Objekte ersetzt, die die angegebene Bedingung erfüllen. |
void
|
clear()
Entfernt alle Elemente aus dieser Warteschlange. |
boolean
|
contains(T object)
Ermittelt, ob ein Objekt derzeit in dieser Warteschlange enthalten ist. |
|
getCopy()
Kopie des Inhalts der Warteschlange abrufen. |
|
iterator()
|
T
|
poll(long timeout, TimeUnit unit)
Ruft das Minimum ab und entfernt es, wie anhand des angegebenen |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Ruft das Minimum ab und entfernt es, wie anhand des angegebenen |
T
|
poll(IMatcher<T> matcher)
Ruft das Minimum ab und entfernt es, wie anhand des angegebenen |
T
|
poll()
Ruft den Kopf dieser Warteschlange ab und entfernt ihn. |
boolean
|
remove(T object)
Entfernt ein Element aus der Warteschlange. |
int
|
size()
|
T
|
take()
Ruft das Minimum ab und entfernt es, wie anhand des angegebenen |
T
|
take(IMatcher<T> matcher)
Ruft das erste Element T in der Warteschlange, in der sich matcher.matches(T) befindet, ab und entfernt es
|
Öffentliche Konstruktoren
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
Erstellt: ConditionPriorityBlockingQueue
Die Elemente werden in FIFO-Reihenfolge priorisiert.
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (c)
Erstellt: 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 wird nie blockiert.
Parameter | |
---|---|
addedElement |
T : das hinzuzufügende Element |
Returns | |
---|---|
boolean |
true |
Ausgabe | |
---|---|
ClassCastException |
Das angegebene Element kann nicht mit Elementen verglichen werden. aktuell in der Prioritätswarteschlange entsprechend der Reihenfolge der Prioritätswarteschlange |
NullPointerException |
Das angegebene Element ist null. |
addUnique
public T addUnique (IMatcher<T> matcher, T object)
Fügt dieser Warteschlange ein Element hinzu. Dadurch werden alle vorhandenen Objekte ersetzt, die die angegebene Bedingung erfüllen.
Parameter | |
---|---|
matcher |
IMatcher : der Matcher zum Bewerten vorhandener Objekte |
object |
T : das hinzuzufügende Objekt |
Returns | |
---|---|
T |
Das ersetzte Objekt oder null , wenn kein Objekt 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 suchende Objekt |
Returns | |
---|---|
boolean |
true , wenn das angegebene Objekt in der Warteschlange enthalten ist. false>
sonst. |
GetCopy
publicgetCopy ()
Kopie des Inhalts der Warteschlange abrufen.
Returns | |
---|---|
|
Iterator
publiciterator ()
Returns | |
---|---|
|
Umfrage
public T poll (long timeout, TimeUnit unit)
Ruft das Minimum ab und entfernt es, wie anhand des angegebenen ERROR(/Comparator)
-Elements T in
in der Warteschlange.
Blockiert bis zu timeout-mal, bis ein Element verfügbar ist.
Parameter | |
---|---|
timeout |
long : die Zeit, die gewartet wird, bis ein Element verfügbar ist |
unit |
TimeUnit : die ERROR(/TimeUnit) des Zeitlimits |
Returns | |
---|---|
T |
mindestens das ü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 angegebenen ERROR(/Comparator)
-Elements T in
der Warteschlange, wobei matcher.matches(T) den Wert true
hat.
Blockiert bis zu timeout-mal, bis ein Element verfügbar ist.
Parameter | |
---|---|
timeout |
long : die Zeit, die gewartet wird, bis ein Element verfügbar ist |
unit |
TimeUnit : die ERROR(/TimeUnit) des Zeitlimits |
matcher |
IMatcher : der IMatcher , der zum Bewerten von Elementen verwendet werden soll |
Returns | |
---|---|
T |
mindestens das ü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 angegebenen ERROR(/Comparator)
-Elements T in
der Warteschlange, wobei matcher.matches(T) den Wert true
hat.
Parameter | |
---|---|
matcher |
IMatcher : der IMatcher , der zum Bewerten von Elementen verwendet werden soll |
Returns | |
---|---|
T |
mindestens das übereinstimmende Element oder null , wenn keine übereinstimmenden Elemente vorhanden sind |
Umfrage
public T poll ()
Ruft den Kopf dieser Warteschlange ab und entfernt ihn.
Returns | |
---|---|
T |
dem Kopf dieser Warteschlange oder null , wenn die Warteschlange leer ist |
entfernen
public boolean remove (T object)
Entfernt ein Element aus der Warteschlange.
Parameter | |
---|---|
object |
T : das zu entfernende Objekt |
Returns | |
---|---|
boolean |
true , wenn das angegebene Objekt aus der Warteschlange entfernt wurde. false>
sonst. |
Größe
public int size ()
Returns | |
---|---|
int |
Anzahl der Elemente in der Warteschlange |
nehmen
public T take ()
Ruft das Minimum ab und entfernt es, wie anhand des angegebenen ERROR(/Comparator)
-Elements T in
in der Warteschlange.
Blockiert auf unbestimmte Zeit, damit ein Element verfügbar wird.
Returns | |
---|---|
T |
Kopf dieser Warteschlange |
Ausgabe | |
---|---|
InterruptedException |
bei Unterbrechung während des Wartens |
nehmen
public T take (IMatcher<T> matcher)
Ruft das erste Element T in der Warteschlange, in der sich matcher.matches(T) befindet, ab und entfernt es
true
und wird gegebenenfalls gewartet, bis ein solches Element verfügbar wird.
Parameter | |
---|---|
matcher |
IMatcher : der IMatcher , der zum Bewerten von Elementen verwendet werden soll |
Returns | |
---|---|
T |
das übereinstimmende Element |
Ausgabe | |
---|---|
InterruptedException |
bei Unterbrechung während des Wartens |