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.

Resumo

Classes aninhadas

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Um ConditionPriorityBlockingQueue.IMatcher que corresponde a qualquer objeto. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Uma interface para determinar se os elementos correspondem a algum tipo de condição. 

Construtores públicos

ConditionPriorityBlockingQueue()

Cria um ConditionPriorityBlockingQueue

Os elementos serão priorizados na ordem PEPS.

ConditionPriorityBlockingQueue( c)

Cria um ConditionPriorityBlockingQueue

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 ERROR(/Comparator) T fornecido na fila.

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.

T poll(IMatcher<T> matcher)

Recupera e remove o mínimo (julgado pelo elemento ERROR(/Comparator) T fornecido na fila em que matcher.matches(T) é true.

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 ERROR(/Comparator) T fornecido na fila.

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.

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

public  getCopy ()

Receba uma cópia do conteúdo da fila.

Retorna

iterador

public  iterator ()

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