ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Una classe thread-safe con operazioni simili a ERROR(/PriorityBlockingQueue) che possono recuperare oggetti che soddisfano una determinata condizione.

Anche l'iterazione è thread-safe, ma non coerente. Una copia della coda viene eseguita al momento della creazione dell'iteratore e tale copia viene utilizzata come destinazione dell'iterazione. Se la coda viene modificata durante l'iterazione, non verrà generato un ERROR(/ConcurrentModificationException) , ma anche l'iteratore non rifletterà i contenuti modificati.

Sommario

Classi annidate

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

Oggetto ConditionPriorityBlockingQueue.IMatcher che corrisponde a qualsiasi oggetto.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Un'interfaccia per determinare se gli elementi corrispondono a una sorta di condizione.

Costruttori pubblici

ConditionPriorityBlockingQueue ()

Crea un oggetto ConditionPriorityBlockingQueue

Gli elementi avranno la priorità in ordine FIFO.

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

Crea un oggetto ConditionPriorityBlockingQueue

Metodi pubblici

boolean add (T addedElement)

Inserisce l'elemento specificato in questa coda.

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

Aggiunge un elemento a questa coda, sostituendo qualsiasi oggetto esistente che soddisfi una determinata condizione

void clear ()

Rimuove tutti gli elementi da questa coda.

boolean contains (T object)

Determina se un oggetto è attualmente contenuto in questa coda.

getCopy ()

Ottieni una copia del contenuto della coda.

iterator ()

T poll (long timeout, TimeUnit unit)

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda.

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

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda dove matcher.matches(T) è true .

T poll ( IMatcher <T> matcher)

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda dove matcher.matches(T) è true .

T poll ()

Recupera e rimuove la testa di questa coda.

boolean remove (T object)

Rimuove un elemento da questa coda.

int size ()
T take ()

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda.

T take ( IMatcher <T> matcher)

Recupera e rimuove il primo elemento T nella coda dove matcher.matches(T) è true , aspettando se necessario fino a quando tale elemento non diventa disponibile.

Costruttori pubblici

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crea un oggetto ConditionPriorityBlockingQueue

Gli elementi avranno la priorità in ordine FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Crea un oggetto ConditionPriorityBlockingQueue

Parametri
c : l' ERROR(/Comparator) utilizzato per dare la priorità alla coda.

Metodi pubblici

Inserisci

public boolean add (T addedElement)

Inserisce l'elemento specificato in questa coda. Poiché la coda è illimitata, questo metodo non verrà mai bloccato.

Parametri
addedElement T : l'elemento da aggiungere

ritorna
boolean true

Lancia
ClassCastException se l'elemento specificato non può essere confrontato con gli elementi attualmente nella coda di priorità in base all'ordinamento della coda di priorità
NullPointerException se l'elemento specificato è nullo

addUnique

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

Aggiunge un elemento a questa coda, sostituendo qualsiasi oggetto esistente che soddisfi una determinata condizione

Parametri
matcher IMatcher : il matcher per valutare gli oggetti esistenti

object T : l'oggetto da aggiungere

ritorna
T l'oggetto sostituito o null se non ne esiste nessuno

chiaro

public void clear ()

Rimuove tutti gli elementi da questa coda.

contiene

public boolean contains (T object)

Determina se un oggetto è attualmente contenuto in questa coda.

Parametri
object T : l'oggetto da trovare

ritorna
boolean true se l'oggetto specificato è contenuto nella coda. false> altrimenti.

getCopy

public  getCopy ()

Ottieni una copia del contenuto della coda.

ritorna

iteratore

public  iterator ()

ritorna

sondaggio

public T poll (long timeout, 
                TimeUnit unit)

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda.

Blocca fino al timeout che un elemento diventi disponibile.

Parametri
timeout long : il tempo di attesa prima che un elemento diventi disponibile

unit TimeUnit : l' ERROR(/TimeUnit) di timeout

ritorna
T l'elemento corrispondente minimo o null se non ci sono elementi corrispondenti

sondaggio

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

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda dove matcher.matches(T) è true .

Blocca fino al timeout che un elemento diventi disponibile.

Parametri
timeout long : il tempo di attesa prima che un elemento diventi disponibile

unit TimeUnit : l' ERROR(/TimeUnit) di timeout

matcher IMatcher : l' IMatcher da utilizzare per valutare gli elementi

ritorna
T l'elemento corrispondente minimo o null se non ci sono elementi corrispondenti

sondaggio

public T poll (IMatcher<T> matcher)

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda dove matcher.matches(T) è true .

Parametri
matcher IMatcher : l' IMatcher da utilizzare per valutare gli elementi

ritorna
T l'elemento corrispondente minimo o null se non ci sono elementi corrispondenti

sondaggio

public T poll ()

Recupera e rimuove la testa di questa coda.

ritorna
T all'inizio di questa coda o null se la coda è vuota

rimuovere

public boolean remove (T object)

Rimuove un elemento da questa coda.

Parametri
object T : l'oggetto da rimuovere

ritorna
boolean true se l'oggetto specificato è stato rimosso dalla coda. false> altrimenti.

dimensione

public int size ()

ritorna
int il numero di elementi in coda

prendere

public T take ()

Recupera e rimuove il minimo (come giudicato dall'elemento ERROR(/Comparator) fornito T nella coda.

Si blocca a tempo indeterminato affinché un elemento diventi disponibile.

ritorna
T il capo di questa coda

Lancia
InterruptedException se interrotto durante l'attesa

prendere

public T take (IMatcher<T> matcher)

Recupera e rimuove il primo elemento T nella coda dove matcher.matches(T) è true , aspettando se necessario fino a quando tale elemento non diventa disponibile.

Parametri
matcher IMatcher : l' IMatcher da utilizzare per valutare gli elementi

ritorna
T l'elemento abbinato

Lancia
InterruptedException se interrotto durante l'attesa