ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
Uma classe segura para threads com operações semelhantes a ERROR(/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, uma ERROR(/ConcurrentModificationException)
não será gerada, 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 serão priorizados na ordem PEPS. |
|
ConditionPriorityBlockingQueue(
Cria um |
Métodos públicos | |
---|---|
boolean
|
add(T addedElement)
Insere o elemento especificado nessa fila. |
T
|
addUnique(IMatcher<T> matcher, T object)
Adiciona um item a essa fila, substituindo qualquer objeto existente que corresponda à condição. |
void
|
clear()
Remove todos os elementos dessa fila. |
boolean
|
contains(T object)
Determine se um objeto está contido na fila. |
|
getCopy()
Receba uma cópia do conteúdo da fila. |
|
iterator()
|
T
|
poll(long timeout, TimeUnit unit)
Recupera e remove o mínimo (julgado pelo elemento |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Recupera e remove o mínimo (conforme avaliado pelo elemento |
T
|
poll(IMatcher<T> matcher)
Recupera e remove o mínimo (julgado pelo elemento |
T
|
poll()
Recupera e remove o cabeçalho dessa fila. |
boolean
|
remove(T object)
Remove um item dessa fila. |
int
|
size()
|
T
|
take()
Recupera e remove o mínimo (conforme avaliado 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 serão priorizados na ordem PEPS.
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (c)
Cria um ConditionPriorityBlockingQueue
Parâmetros | |
---|---|
c |
: o ERROR(/Comparator) usado para priorizar a fila. |
Métodos públicos
adicionar
public boolean add (T addedElement)
Insere o elemento especificado nessa fila. Como a fila não tem limite, esse método nunca será bloqueado.
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 ordem 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.
Parâmetros | |
---|---|
matcher |
IMatcher : o comparador para avaliar objetos existentes |
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 dessa fila.
contém
public boolean contains (T object)
Determine se um objeto está contido na 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
publicgetCopy ()
Receba uma cópia do conteúdo da fila.
Retorna | |
---|---|
|
iterador
publiciterator ()
Retorna | |
---|---|
|
pesquisa
public T poll (long timeout, TimeUnit unit)
Recupera e remove o mínimo (conforme avaliado pelo elemento ERROR(/Comparator)
T fornecido na
fila.
Bloqueia até timeout vezes 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 ERROR(/TimeUnit) do tempo limite |
Retorna | |
---|---|
T |
o elemento mínimo correspondente ou null se não houver elementos correspondentes |
pesquisa
public T poll (long timeout, TimeUnit unit, IMatcher<T> matcher)
Recupera e remove o mínimo (conforme avaliado pelo elemento ERROR(/Comparator)
T fornecido na
fila em que matcher.matches(T) é true
.
Bloqueia até timeout vezes 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 ERROR(/TimeUnit) do tempo limite |
matcher |
IMatcher : o IMatcher a ser usado para avaliar elementos |
Retorna | |
---|---|
T |
o elemento mínimo correspondente ou null se não houver elementos correspondentes |
pesquisa
public T poll (IMatcher<T> matcher)
Recupera e remove o mínimo (conforme avaliado pelo elemento ERROR(/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 mínimo correspondente ou null se não houver elementos correspondentes |
pesquisa
public T poll ()
Recupera e remove o cabeçalho dessa fila.
Retorna | |
---|---|
T |
a cabeça da fila ou null se ela estiver vazia |
remove
public boolean remove (T object)
Remove um item dessa fila.
Parâmetros | |
---|---|
object |
T : o objeto a ser removido |
Retorna | |
---|---|
boolean |
true se o objeto foi removido da fila. false>
caso contrário. |
size
public int size ()
Retorna | |
---|---|
int |
o número de elementos na fila |
tomar
public T take ()
Recupera e remove o mínimo (conforme avaliado pelo elemento ERROR(/Comparator)
T fornecido na
fila.
Bloqueia indefinidamente para que um elemento fique disponível.
Retorna | |
---|---|
T |
a cabeça da fila |
Gera | |
---|---|
InterruptedException |
se for interrompido durante a espera |
tomar
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 esse elemento 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 durante a espera |