ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


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

Die Iteration ist auch 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 ERROR(/ConcurrentModificationException) geworfen, aber der Iterator spiegelt auch nicht die geänderten Inhalte wider.

Weitere Informationen

Zusammenfassung

Verschachtelte Klassen

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

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

interface ConditionPriorityBlockingQueue.IMatcher<T>

Eine Benutzeroberfläche, mit der ermittelt wird, ob Elemente einer bestimmten Bedingung entsprechen. 

Öffentliche Konstruktoren

ConditionPriorityBlockingQueue()

Erstellt einen ConditionPriorityBlockingQueue

Die Elemente werden in FIFO-Reihenfolge priorisiert.

ConditionPriorityBlockingQueue( c)

Erstellt einen ConditionPriorityBlockingQueue

Öffentliche Methoden

boolean add(T addedElement)

Fügt das angegebene Element in diese Warteschlange ein.

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

Fügen Sie dieser Warteschlange einen Artikel hinzu und ersetzen Sie alle vorhandenen Objekte, die der angegebenen Bedingung entsprechen.

void clear()

Entfernt alle Elemente aus dieser Warteschlange.

boolean contains(T object)

Prüfen, ob sich ein Objekt derzeit in dieser Warteschlange befindet.

getCopy()

Eine Kopie des Inhalts der Warteschlange abrufen

iterator()

T poll(long timeout, TimeUnit unit)

Ruft das Minimum (beurteilt anhand des angegebenen ERROR(/Comparator)-Elements T in der Warteschlange) ab und entfernt es.

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

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

T poll(IMatcher<T> matcher)

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

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 (beurteilt anhand des angegebenen ERROR(/Comparator)-Elements T in der Warteschlange) ab und entfernt es.

T take(IMatcher<T> matcher)

Ruft das erste Element T in der Warteschlange ab und entfernt es, wobei matcher.matches(T) = true ist. Falls erforderlich, wird gewartet, bis ein solches Element verfügbar ist.

Öffentliche Konstruktoren

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Erstellt einen ConditionPriorityBlockingQueue

Die Elemente werden in FIFO-Reihenfolge priorisiert.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Erstellt einen 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 nie blockiert.

Parameter
addedElement T: das hinzuzufügende Element

Returns
boolean true

Ausgabe
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ügen Sie dieser Warteschlange einen Artikel hinzu und ersetzen Sie alle vorhandenen Objekte, die der angegebenen Bedingung entsprechen.

Parameter
matcher IMatcher: der Matcher zur Auswertung vorhandener Objekte

object T: das hinzuzufügende Objekt

Returns
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)

Prüfen, ob sich ein Objekt derzeit in dieser Warteschlange befindet.

Parameter
object T: das zu findende Objekt

Returns
boolean true, wenn das angegebene Objekt in der Warteschlange enthalten ist. false> andernfalls.

getCopy

public  getCopy ()

Eine Kopie des Inhalts der Warteschlange abrufen

Returns

iterator

public  iterator ()

Returns

Umfrage

public T poll (long timeout, 
                TimeUnit unit)

Ruft das Minimum (beurteilt anhand des angegebenen ERROR(/Comparator)-Elements T in der Warteschlange) ab und entfernt es.

Es wird ein Zeitblock von bis zu timeout Minuten festgelegt, bis ein Element verfügbar ist.

Parameter
timeout long: die Zeitspanne, die gewartet wird, bis ein Element verfügbar ist

unit TimeUnit: die ERROR(/TimeUnit) des Zeitlimits

Returns
T das Element mit der geringsten Übereinstimmung oder null, wenn keine übereinstimmenden Elemente vorhanden sind

Umfrage

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

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

Es wird ein Zeitblock von bis zu timeout Minuten festgelegt, bis ein Element verfügbar ist.

Parameter
timeout long: die Zeitspanne, 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 das Element mit der geringsten Übereinstimmung oder null, wenn keine übereinstimmenden Elemente vorhanden sind

Umfrage

public T poll (IMatcher<T> matcher)

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

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

Returns
T das Element mit der geringsten Übereinstimmung oder null, wenn keine übereinstimmenden Elemente vorhanden sind

Umfrage

public T poll ()

Ruft den Kopf dieser Warteschlange ab und entfernt ihn.

Returns
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

Returns
boolean true, wenn das angegebene Objekt aus der Warteschlange entfernt wurde. false> andernfalls.

Größe

public int size ()

Returns
int die Anzahl der Elemente in der Warteschlange

nehmen

public T take ()

Ruft das Minimum (beurteilt anhand des angegebenen ERROR(/Comparator)-Elements T in der Warteschlange) ab und entfernt es.

Blockiert auf unbestimmte Zeit, bis ein Element verfügbar ist.

Returns
T den Kopf dieser Warteschlange

Ausgabe
InterruptedException wenn die Wartezeit unterbrochen wird

nehmen

public T take (IMatcher<T> matcher)

Ruft das erste Element T in der Warteschlange ab und entfernt es, wobei matcher.matches(T) = true ist. Falls erforderlich, wird gewartet, bis ein solches Element verfügbar ist.

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

Returns
T dem übereinstimmenden Element

Ausgabe
InterruptedException wenn die Wartezeit unterbrochen wird