ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
implements
Iterable<T>
| java.lang.Object | |
| ↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
Uma classe thread-safe com operações semelhantes a PriorityBlockingQueue que podem recuperar objetos
que correspondem a uma determinada condição.
A iteração também é thread-safe, mas não consistente. Uma cópia da fila é feita no momento da criação do iterador, e essa cópia é usada como o destino da iteração. Se a fila for modificada durante
a iteração, um ConcurrentModificationException não será gerado, mas o iterador
também não vai refletir o conteúdo modificado.
Confira também:
Resumo
Classes aninhadas | |
|---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
Um |
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Uma interface para determinar se os elementos correspondem a algum tipo de condição. |
Construtores públicos | |
|---|---|
ConditionPriorityBlockingQueue()
Cria um Os elementos são priorizados na ordem PEPS. |
|
ConditionPriorityBlockingQueue(Comparator<T> c)
Cria um |
|
Métodos públicos | |
|---|---|
boolean
|
add(T addedElement)
Insere o elemento especificado nesta fila. |
T
|
addUnique(IMatcher<T> matcher, T object)
Adiciona um item a essa fila, substituindo qualquer objeto existente que corresponda à condição especificada. |
void
|
clear()
Remove todos os elementos da fila. |
boolean
|
contains(T object)
Determina se um objeto está contido nesta fila. |
List<T>
|
getCopy()
Receba uma cópia do conteúdo da fila. |
Iterator<T>
|
iterator()
|
T
|
poll(IMatcher<T> matcher)
Recupera e remove o mínimo (conforme julgado pelo elemento |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Recupera e remove o mínimo (conforme julgado pelo elemento |
T
|
poll(long timeout, TimeUnit unit)
Recupera e remove o mínimo (conforme julgado pelo elemento |
T
|
poll()
Recupera e remove o início desta fila. |
boolean
|
remove(T object)
Remove um item da fila. |
int
|
size()
|
T
|
take()
Recupera e remove o mínimo (conforme julgado pelo elemento |
T
|
take(IMatcher<T> matcher)
Recupera e remove o primeiro elemento T na fila em que matcher.matches(T) é |
Construtores públicos
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
Cria um ConditionPriorityBlockingQueue.
Os elementos são priorizados na ordem PEPS.
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (Comparator<T> c)
Cria um ConditionPriorityBlockingQueue.
| Parâmetros | |
|---|---|
c |
Comparator: o Comparator usado para priorizar a fila. |
Métodos públicos
adicionar
public boolean add (T addedElement)
Insere o elemento especificado nesta fila. Como a fila não tem limites, esse método nunca vai bloquear.
| Parâmetros | |
|---|---|
addedElement |
T: o elemento a ser adicionado |
| Retorna | |
|---|---|
boolean |
true |
| Gera | |
|---|---|
ClassCastException |
se o elemento especificado não puder ser comparado com os elementos atualmente na fila de prioridade de acordo com a ordenação dela. |
NullPointerException |
se o elemento especificado for nulo |
addUnique
public T addUnique (IMatcher<T> matcher, T object)
Adiciona um item a essa fila, substituindo qualquer objeto existente que corresponda à condição especificada.
| Parâmetros | |
|---|---|
matcher |
IMatcher: o comparador para avaliar objetos atuais. |
object |
T: o objeto a ser adicionado |
| Retorna | |
|---|---|
T |
o objeto substituído ou null se nenhum existir |
limpar
public void clear ()
Remove todos os elementos da fila.
contém
public boolean contains (T object)
Determina se um objeto está contido nesta fila.
| Parâmetros | |
|---|---|
object |
T: o objeto a ser encontrado |
| Retorna | |
|---|---|
boolean |
true se o objeto especificado estiver na fila. false>
caso contrário. |
getCopy
public List<T> getCopy ()
Receba uma cópia do conteúdo da fila.
| Retorna | |
|---|---|
List<T> |
|
iterator
public Iterator<T> iterator ()
| Retorna | |
|---|---|
Iterator<T> |
|
enquete
public T poll (IMatcher<T> matcher)
Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na
fila em que matcher.matches(T) é true.
| Parâmetros | |
|---|---|
matcher |
IMatcher: o IMatcher a ser usado para avaliar elementos. |
| Retorna | |
|---|---|
T |
o elemento correspondente mínimo ou null se não houver elementos correspondentes |
enquete
public T poll (long timeout,
TimeUnit unit,
IMatcher<T> matcher)Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na
fila em que matcher.matches(T) é true.
Bloqueia até timeout tempo para que um elemento fique disponível.
| Parâmetros | |
|---|---|
timeout |
long: o tempo de espera para que um elemento fique disponível. |
unit |
TimeUnit: o TimeUnit de tempo limite |
matcher |
IMatcher: o IMatcher a ser usado para avaliar elementos. |
| Retorna | |
|---|---|
T |
o elemento correspondente mínimo ou null se não houver elementos correspondentes |
| Gera | |
|---|---|
InterruptedException |
|
enquete
public T poll (long timeout,
TimeUnit unit)Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila).
Bloqueia até timeout tempo para que um elemento fique disponível.
| Parâmetros | |
|---|---|
timeout |
long: o tempo de espera para que um elemento fique disponível. |
unit |
TimeUnit: o TimeUnit de tempo limite |
| Retorna | |
|---|---|
T |
o elemento correspondente mínimo ou null se não houver elementos correspondentes |
| Gera | |
|---|---|
InterruptedException |
|
enquete
public T poll ()
Recupera e remove o início desta fila.
| Retorna | |
|---|---|
T |
a frente da fila ou null se a fila estiver vazia |
remover
public boolean remove (T object)
Remove um item da fila.
| Parâmetros | |
|---|---|
object |
T: o objeto a ser removido |
| Retorna | |
|---|---|
boolean |
true se o objeto especificado foi removido da fila. false>
caso contrário. |
tamanho
public int size ()
| Retorna | |
|---|---|
int |
o número de elementos na fila |
ocupar
public T take ()
Recupera e remove o mínimo (conforme julgado pelo elemento Comparator T fornecido na fila).
Bloqueia indefinidamente até que um elemento fique disponível.
| Retorna | |
|---|---|
T |
o início da fila |
| Gera | |
|---|---|
InterruptedException |
se for interrompido enquanto espera |
ocupar
public T take (IMatcher<T> matcher)
Recupera e remove o primeiro elemento T na fila em que matcher.matches(T) é true, aguardando, se necessário, até que um elemento desse tipo fique disponível.
| Parâmetros | |
|---|---|
matcher |
IMatcher: o IMatcher a ser usado para avaliar elementos. |
| Retorna | |
|---|---|
T |
o elemento correspondente |
| Gera | |
|---|---|
InterruptedException |
se for interrompido enquanto espera |