ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Una classe a prova di thread con operazioni simili a ERROR(/PriorityBlockingQueue) che può recuperare oggetti che corrispondono a una determinata condizione.

L'iterazione è anche sicura per i thread, ma non coerente. Al momento della creazione dell'iteratore viene creata una copia della coda, che viene utilizzata come target di iterazione. Se la coda viene modificata durante l'iterazione, non verrà generato un ERROR(/ConcurrentModificationException), ma anche l'iteratore non rifletterà i contenuti modificati.

Riepilogo

Classi nidificate

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Un ConditionPriorityBlockingQueue.IMatcher che corrisponde a qualsiasi oggetto. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

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

Costruttori pubblici

ConditionPriorityBlockingQueue()

Crea un ConditionPriorityBlockingQueue

Gli elementi verranno assegnati la priorità in ordine FIFO.

ConditionPriorityBlockingQueue( c)

Crea un 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 corrisponda alla condizione specificata

void clear()

Rimuove tutti gli elementi da questa coda.

boolean contains(T object)

Determina se un oggetto è attualmente contenuto in questa coda.

getCopy()

Ricevi una copia dei contenuti della coda.

iterator()

T poll(long timeout, TimeUnit unit)

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella fila).

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

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella coda, dove matcher.matches(T) è true.

T poll(IMatcher<T> matcher)

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella coda, dove matcher.matches(T) è true.

T poll()

Recupera e rimuove l'elemento iniziale di questa coda.

boolean remove(T object)

Rimuove un elemento da questa coda.

int size()
T take()

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella fila).

T take(IMatcher<T> matcher)

Recupera e rimuove il primo elemento T nella coda in cui matcher.matches(T) è true, aspettando se necessario fino a quando un elemento di questo tipo non diventa disponibile.

Costruttori pubblici

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crea un ConditionPriorityBlockingQueue

Gli elementi verranno assegnati la priorità in ordine FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Crea un ConditionPriorityBlockingQueue

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

Metodi pubblici

aggiungi

public boolean add (T addedElement)

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

Parametri
addedElement T: l'elemento da aggiungere

Ritorni
boolean true

Lanci
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 è null

addUnique

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

Aggiunge un elemento a questa coda, sostituendo qualsiasi oggetto esistente che corrisponda alla condizione specificata

Parametri
matcher IMatcher: il matcher per valutare gli oggetti esistenti

object T: l'oggetto da aggiungere

Ritorni
T l'oggetto sostituito o null se non esiste

cancella

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

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

getCopy

public  getCopy ()

Ricevi una copia dei contenuti della coda.

Ritorni

iterator

public  iterator ()

Ritorni

sondaggio

public T poll (long timeout, 
                TimeUnit unit)

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella fila).

Blocca fino a timeout ore prima che un elemento diventi disponibile.

Parametri
timeout long: il tempo di attesa per la disponibilità di un elemento

unit TimeUnit: il ERROR(/TimeUnit) del timeout

Ritorni
T L'elemento con la corrispondenza minima o null se non sono presenti elementi corrispondenti

sondaggio

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

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella coda, dove matcher.matches(T) è true.

Blocca fino a timeout ore prima che un elemento diventi disponibile.

Parametri
timeout long: il tempo di attesa per la disponibilità di un elemento

unit TimeUnit: il ERROR(/TimeUnit) del timeout

matcher IMatcher: il IMatcher da utilizzare per valutare gli elementi

Ritorni
T L'elemento con la corrispondenza minima o null se non sono presenti elementi corrispondenti

sondaggio

public T poll (IMatcher<T> matcher)

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella coda, dove matcher.matches(T) è true.

Parametri
matcher IMatcher: il IMatcher da utilizzare per valutare gli elementi

Ritorni
T L'elemento con la corrispondenza minima o null se non sono presenti elementi corrispondenti

sondaggio

public T poll ()

Recupera e rimuove l'elemento iniziale di questa coda.

Ritorni
T l'elemento iniziale di questa coda o null se la coda è vuota

rimozione

public boolean remove (T object)

Rimuove un elemento da questa coda.

Parametri
object T: l'oggetto da rimuovere

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

dimensioni

public int size ()

Ritorni
int il numero di elementi in coda

prendere

public T take ()

Recupera e rimuove il valore minimo (in base all'elemento ERROR(/Comparator) T fornito nella fila).

Blocca a tempo indeterminato l'attesa che un elemento diventi disponibile.

Ritorni
T l'elemento iniziale di questa coda

Lanci
InterruptedException Se l'attesa viene interrotta

prendere

public T take (IMatcher<T> matcher)

Recupera e rimuove il primo elemento T nella coda in cui matcher.matches(T) è true, aspettando se necessario fino a quando un elemento di questo tipo non diventa disponibile.

Parametri
matcher IMatcher: il IMatcher da utilizzare per valutare gli elementi

Ritorni
T l'elemento corrispondente

Lanci
InterruptedException Se l'attesa viene interrotta