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.
Vedi anche:
Riepilogo
Classi nidificate | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
Un |
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Un'interfaccia per determinare se gli elementi corrispondono a una determinata condizione. |
Costruttori pubblici | |
---|---|
ConditionPriorityBlockingQueue()
Crea un Gli elementi verranno assegnati la priorità in ordine FIFO. |
|
ConditionPriorityBlockingQueue(
Crea un |
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 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Recupera e rimuove il valore minimo (in base all'elemento |
T
|
poll(IMatcher<T> matcher)
Recupera e rimuove il valore minimo (in base all'elemento |
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 |
T
|
take(IMatcher<T> matcher)
Recupera e rimuove il primo elemento T nella coda in cui matcher.matches(T) è
|
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
publicgetCopy ()
Ricevi una copia dei contenuti della coda.
Ritorni | |
---|---|
|
iterator
publiciterator ()
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 |