ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

java.lang.Object
com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


Потокобезопасный класс с операциями, аналогичными PriorityBlockingQueue , который может извлекать объекты, соответствующие определенному условию.

Итерация также потокобезопасна, но не согласована. Копия очереди создается во время создания итератора, и эта копия используется в качестве целевого объекта итерации. Если очередь изменяется во время итерации, исключение ConcurrentModificationException не будет выброшено, но итератор также не будет отражать измененное содержимое.

См. также:

Краткое содержание

Вложенные классы

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

Объект ConditionPriorityBlockingQueue.IMatcher , который соответствует любому объекту.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Интерфейс для определения соответствия элементов определенным условиям.

Государственные строители

ConditionPriorityBlockingQueue ()

Создает очередь блокировки ConditionPriorityBlockingQueue .

Элементы будут обрабатываться в порядке FIFO (первым пришел — первым обслужен).

ConditionPriorityBlockingQueue (Comparator<T> c)

Создает очередь блокировки ConditionPriorityBlockingQueue .

Общедоступные методы

boolean add (T addedElement)

Вставляет указанный элемент в эту очередь.

T addUnique ( IMatcher <T> matcher, T object)

Добавляет элемент в эту очередь, заменяя любой существующий объект, соответствующий заданному условию.

void clear ()

Удаляет все элементы из этой очереди.

boolean contains (T object)

Определите, находится ли в данный момент объект в этой очереди.

List<T> getCopy ()

Получите копию содержимого очереди.

Iterator<T> iterator ()

T poll ( IMatcher <T> matcher)

Извлекает и удаляет минимальный элемент (определяемый предоставленным элементом Comparator T в очереди, где matcher.matches(T) равно true ).

T poll (long timeout, TimeUnit unit, IMatcher <T> matcher)

Извлекает и удаляет минимальный элемент (определяемый предоставленным элементом Comparator T в очереди, где matcher.matches(T) равно true ).

T poll (long timeout, TimeUnit unit)

Извлекает и удаляет минимальное количество элементов (определяемое по предоставленному элементу Comparator T в очереди).

T poll ()

Извлекает и удаляет начало этой очереди.

boolean remove (T object)

Удаляет элемент из этой очереди.

int size ()
T take ()

Извлекает и удаляет минимальное количество элементов (определяемое по предоставленному элементу Comparator T в очереди).

T take ( IMatcher <T> matcher)

Извлекает и удаляет первый элемент T из очереди, для которого matcher.matches(T) true , при необходимости ожидая, пока такой элемент не станет доступен.

Государственные строители

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Создает очередь блокировки ConditionPriorityBlockingQueue .

Элементы будут обрабатываться в порядке FIFO (первым пришел — первым обслужен).

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Создает очередь блокировки ConditionPriorityBlockingQueue .

Параметры
c Comparator : Comparator используемый для определения приоритета в очереди.

Общедоступные методы

добавлять

public boolean add (T addedElement)

Вставляет указанный элемент в эту очередь. Поскольку очередь неограничена, этот метод никогда не будет блокироваться.

Параметры
addedElement T : элемент, который нужно добавить.

Возвраты
boolean true

Броски
ClassCastException если указанный элемент не может быть сравнен с элементами, находящимися в данный момент в очереди приоритетов, в соответствии с порядком элементов в этой очереди.
NullPointerException если указанный элемент равен null

addUnique

public T addUnique (IMatcher<T> matcher, 
                T object)

Добавляет элемент в эту очередь, заменяя любой существующий объект, соответствующий заданному условию.

Параметры
matcher IMatcher : средство сопоставления для оценки существующих объектов.

object T : объект, который нужно добавить.

Возвраты
T замененный объект или null , если такового не существует.

прозрачный

public void clear ()

Удаляет все элементы из этой очереди.

содержит

public boolean contains (T object)

Определите, находится ли в данный момент объект в этой очереди.

Параметры
object T : объект, который нужно найти

Возвраты
boolean true если заданный объект содержится в очереди. В противном случае false> .

получитьКопию

public List<T> getCopy ()

Получите копию содержимого очереди.

Возвраты
List<T>

итератор

public Iterator<T> iterator ()

Возвраты
Iterator<T>

голосование

public T poll (IMatcher<T> matcher)

Извлекает и удаляет минимальный элемент (определяемый предоставленным элементом Comparator T в очереди, где matcher.matches(T) равно true ).

Параметры
matcher IMatcher : инструмент IMatcher для оценки элементов.

Возвраты
T минимальное количество совпадающих элементов или null , если совпадающих элементов нет.

голосование

public T poll (long timeout, 
                TimeUnit unit, 
                IMatcher<T> matcher)

Извлекает и удаляет минимальный элемент (определяемый предоставленным элементом Comparator T в очереди, где matcher.matches(T) равно true ).

Блокирует доступ к элементу до истечения времени timeout .

Параметры
timeout long : время ожидания, пока элемент станет доступен.

unit TimeUnit : единица измерения TimeUnit ожидания.

matcher IMatcher : инструмент IMatcher для оценки элементов.

Возвраты
T минимальное количество совпадающих элементов или null , если совпадающих элементов нет.

Броски
InterruptedException

голосование

public T poll (long timeout, 
                TimeUnit unit)

Извлекает и удаляет минимальное количество элементов (определяемое по предоставленному элементу Comparator T в очереди).

Блокирует доступ к элементу до истечения времени timeout .

Параметры
timeout long : время ожидания, пока элемент станет доступен.

unit TimeUnit : единица измерения TimeUnit ожидания.

Возвраты
T минимальное количество совпадающих элементов или null , если совпадающих элементов нет.

Броски
InterruptedException

голосование

public T poll ()

Извлекает и удаляет начало этой очереди.

Возвраты
T заголовок этой очереди или null , если очередь пуста.

удалять

public boolean remove (T object)

Удаляет элемент из этой очереди.

Параметры
object T : объект, который нужно удалить

Возвраты
boolean Возвращает true , если заданный объект был удален из очереди. В противном случае false> .

размер

public int size ()

Возвраты
int количество элементов в очереди

брать

public T take ()

Извлекает и удаляет минимальное количество элементов (определяемое по предоставленному элементу Comparator T в очереди).

Блокировка на неопределенный срок для того, чтобы элемент стал доступен.

Возвраты
T начало этой очереди

Броски
InterruptedException если прервано во время ожидания

брать

public T take (IMatcher<T> matcher)

Извлекает и удаляет первый элемент T из очереди, для которого matcher.matches(T) true , при необходимости ожидая, пока такой элемент не станет доступен.

Параметры
matcher IMatcher : инструмент IMatcher для оценки элементов.

Возвраты
T соответствующий элемент

Броски
InterruptedException если прервано во время ожидания