ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Una classe thread-safe con operazioni simili a PriorityBlockingQueue che può recuperare oggetti che corrispondono a una determinata condizione.

L'iterazione è anche thread-safe, ma non coerente. Viene creata una copia della coda al momento della creazione dell'iteratore e questa copia viene utilizzata come destinazione dell'iterazione. Se la coda viene modificata durante l'iterazione, non verrà generato un ConcurrentModificationException, ma l'iteratore non rifletterà i contenuti modificati.

Vedi anche:

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 un tipo di condizione. 

Costruttori pubblici

ConditionPriorityBlockingQueue()

Crea un ConditionPriorityBlockingQueue

Gli elementi verranno assegnati in ordine FIFO.

ConditionPriorityBlockingQueue(Comparator<T> 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.

List<T> getCopy()

Ricevi una copia dei contenuti della coda.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda in cui matcher.matches(T) è true.

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

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda in cui matcher.matches(T) è true.

T poll(long timeout, TimeUnit unit)

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda.

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 (in base all'elemento Comparator fornito T nella coda.

T take(IMatcher<T> matcher)

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

Costruttori pubblici

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Crea un ConditionPriorityBlockingQueue

Gli elementi verranno assegnati in ordine FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Crea un ConditionPriorityBlockingQueue

Parametri
c Comparator: il 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 non è limitata, questo metodo non verrà mai bloccato.

Parametri
addedElement T: l'elemento da aggiungere

Resi
boolean true

Genera
ClassCastException se l'elemento specificato non può essere confrontato con gli elementi attualmente nella coda delle priorità in base all'ordinamento della coda delle 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 corrisponda alla condizione specificata

Parametri
matcher IMatcher: il matcher per valutare gli oggetti esistenti

object T: l'oggetto da aggiungere

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

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

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

getCopy

public List<T> getCopy ()

Ricevi una copia dei contenuti della coda.

Resi
List<T>

iteratore

public Iterator<T> iterator ()

Resi
Iterator<T>

eseguire il polling

public T poll (IMatcher<T> matcher)

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda in cui matcher.matches(T) è true.

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

Resi
T l'elemento corrispondente minimo o null se non sono presenti elementi corrispondenti

eseguire il polling

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

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda in cui matcher.matches(T) è true.

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

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

unit TimeUnit: il TimeUnit di timeout

matcher IMatcher: il IMatcher da utilizzare per valutare gli elementi

Resi
T l'elemento corrispondente minimo o null se non sono presenti elementi corrispondenti

Genera
InterruptedException

eseguire il polling

public T poll (long timeout, 
                TimeUnit unit)

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda.

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

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

unit TimeUnit: il TimeUnit di timeout

Resi
T l'elemento corrispondente minimo o null se non sono presenti elementi corrispondenti

Genera
InterruptedException

eseguire il polling

public T poll ()

Recupera e rimuove la testa di questa coda.

Resi
T l'inizio di questa coda o null se la coda è vuota

rimuovi

public boolean remove (T object)

Rimuove un elemento da questa coda.

Parametri
object T: l'oggetto da rimuovere

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

dimensioni

public int size ()

Resi
int il numero di elementi nella coda

scattare

public T take ()

Recupera e rimuove il minimo (in base all'elemento Comparator fornito T nella coda.

Blocca a tempo indeterminato un elemento affinché diventi disponibile.

Resi
T la testa di questa coda

Genera
InterruptedException se interrotto durante l'attesa

scattare

public T take (IMatcher<T> matcher)

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

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

Resi
T l'elemento corrispondente

Genera
InterruptedException se interrotto durante l'attesa