Coda di blocco della priorità delle condizioni

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
🎞 com.android.tradefed.util.ConditionPriorityBlockQueue<T>


Una classe thread-safe con operazioni di tipo ERROR(/PriorityBlockingQueue) in grado di recuperare oggetti che soddisfano una determinata condizione.

L'iterazione è inoltre sicura per i thread, ma non è coerente. Viene creata una copia della coda nell'iteratore data e ora di creazione, e la copia viene utilizzata come destinazione dell'iterazione. Se la coda viene modificata durante iterazione, non verrà generato un ERROR(/ConcurrentModificationException), ma l'iteratore né i contenuti modificati.

Riepilogo

Classi nidificate

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher che corrisponde a qualsiasi oggetto. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Un'interfaccia per determinare se gli elementi corrispondono a un qualche tipo di condizione. 

Costruttori pubblici

ConditionPriorityBlockingQueue()

Crea un ConditionPriorityBlockingQueue

Gli elementi avranno 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 corrisponde a una determinata condizione

void clear()

Rimuove tutti gli elementi dalla coda.

boolean contains(T object)

Determina se un oggetto è attualmente contenuto in questa coda.

getCopy()

Recupera una copia dei contenuti della coda.

iterator()

T poll(long timeout, TimeUnit unit)

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in in coda.

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

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in la coda in cui matcher.matches(T) è true.

T poll(IMatcher<T> matcher)

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in la coda in cui matcher.matches(T) è true.

T poll()

Recupera e rimuove l'intestazione di questa coda.

boolean remove(T object)

Rimuove un elemento dalla coda.

int size()
T take()

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in in coda.

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.

Costruttori pubblici

Coda di blocco della priorità delle condizioni

public ConditionPriorityBlockingQueue ()

Crea un ConditionPriorityBlockingQueue

Gli elementi avranno la priorità in ordine FIFO.

Coda di blocco della priorità delle condizioni

public ConditionPriorityBlockingQueue ( c)

Crea un ConditionPriorityBlockingQueue

Parametri
c : il valore ERROR(/Comparator) utilizzato per assegnare 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 bloccare mai.

Parametri
addedElement T: l'elemento da aggiungere

Ritorni
boolean true

Lanci
ClassCastException se l'elemento specificato non può essere confrontato attualmente nella coda di priorità in base all'ordine della coda
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 corrisponde a una determinata condizione

Parametri
matcher IMatcher: la corrispondenza per valutare gli oggetti esistenti

object T: l'oggetto da aggiungere

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

cancella

public void clear ()

Rimuove tutti gli elementi dalla 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 in coda. false> negli altri casi.

getCopia

public  getCopy ()

Recupera una copia dei contenuti della coda.

Ritorni

iteratore

public  iterator ()

Ritorni

sondaggio

public T poll (long timeout, 
                TimeUnit unit)

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in in coda.

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

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

unit TimeUnit: ERROR(/TimeUnit) di timeout

Ritorni
T il numero minimo di elementi corrispondenti o null se non ci sono elementi corrispondenti

sondaggio

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

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in la coda in cui matcher.matches(T) è true.

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

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

unit TimeUnit: ERROR(/TimeUnit) di timeout

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

Ritorni
T il numero minimo di elementi corrispondenti o null se non ci sono elementi corrispondenti

sondaggio

public T poll (IMatcher<T> matcher)

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in la coda in cui matcher.matches(T) è true.

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

Ritorni
T il numero minimo di elementi corrispondenti o null se non ci sono elementi corrispondenti

sondaggio

public T poll ()

Recupera e rimuove l'intestazione di questa coda.

Ritorni
T all'intestazione di questa coda o null se la coda è vuota

rimozione

public boolean remove (T object)

Rimuove un elemento dalla coda.

Parametri
object T: l'oggetto da rimuovere

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

dimensioni

public int size ()

Ritorni
int il numero di elementi in coda

prendere

public T take ()

Recupera e rimuove il minimo (in base alla valutazione dell'elemento T ERROR(/Comparator) fornito in in coda.

Viene bloccato a tempo indeterminato per rendere disponibile un elemento.

Ritorni
T all'inizio di questa coda

Lanci
InterruptedException se interrotto durante l'attesa

prendere

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 valore IMatcher da utilizzare per valutare gli elementi

Ritorni
T l'elemento corrispondente

Lanci
InterruptedException se interrotto durante l'attesa