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 |
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Eine Schnittstelle, mit der ermittelt werden kann, ob Elemente einer bestimmten Bedingung entsprechen. |
Öffentliche Konstruktoren | |
|---|---|
ConditionPriorityBlockingQueue()
Erstellt eine Elemente werden in der Reihenfolge ihres Eingangs priorisiert. |
|
ConditionPriorityBlockingQueue(Comparator<T> c)
Erstellt eine |
|
Ö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 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Ruft das Minimum (gemessen am bereitgestellten |
T
|
poll(long timeout, TimeUnit unit)
Ruft das Minimum (gemessen am bereitgestellten |
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 |
T
|
take(IMatcher<T> matcher)
Ruft das erste Element T in der Warteschlange ab und entfernt es, wobei matcher.matches(T) gleich |
Ö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 |