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.
Vedi anche:
Riepilogo
Classi nidificate | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Un'interfaccia per determinare se gli elementi corrispondono a un qualche tipo di condizione. |
Costruttori pubblici | |
---|---|
ConditionPriorityBlockingQueue()
Crea un Gli elementi avranno 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 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 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Recupera e rimuove il minimo (in base alla valutazione dell'elemento T |
T
|
poll(IMatcher<T> matcher)
Recupera e rimuove il minimo (in base alla valutazione dell'elemento T |
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 |
T
|
take(IMatcher<T> matcher)
Recupera e rimuove il primo elemento T nella coda in cui matcher.matches(T) è
|
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
publicgetCopy ()
Recupera una copia dei contenuti della coda.
Ritorni | |
---|---|
|
iteratore
publiciterator ()
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 |