ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Klasa bezpieczna dla wątków z operacjami podobnymi do PriorityBlockingQueue, która może pobierać obiekty spełniające określony warunek.

Iteracja jest też bezpieczna wątkowo, ale nie spójna. Kopia kolejki jest tworzona w momencie utworzenia iteratora i jest używana jako cel iteracji. Jeśli kolejka zostanie zmodyfikowana podczas iteracji, nie zostanie zgłoszony wyjątek ConcurrentModificationException, ale iterator nie będzie odzwierciedlać zmodyfikowanej zawartości.

Zobacz też:

Podsumowanie

Zagnieżdżone klasy

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher, która pasuje do dowolnego obiektu. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Interfejs do określania, czy elementy spełniają określone warunki. 

Konstruktory publiczne

ConditionPriorityBlockingQueue()

Tworzy ConditionPriorityBlockingQueue

Elementy będą traktowane priorytetowo w kolejności FIFO.

ConditionPriorityBlockingQueue(Comparator<T> c)

Tworzy ConditionPriorityBlockingQueue

Metody publiczne

boolean add(T addedElement)

Wstawia określony element do tej kolejki.

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

Dodaje element do tej kolejki, zastępując każdy istniejący obiekt, który spełnia podany warunek.

void clear()

Usuwa wszystkie elementy z tej kolejki.

boolean contains(T object)

Sprawdź, czy obiekt znajduje się obecnie w tej kolejce.

List<T> getCopy()

Pobierz kopię zawartości kolejki.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

Pobiera i usuwa minimum (określone przez podany element Comparator T) z kolejki, w której matcher.matches(T) jest true.

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

Pobiera i usuwa minimum (określone przez podany element Comparator T) z kolejki, w której matcher.matches(T) jest true.

T poll(long timeout, TimeUnit unit)

Pobiera i usuwa z kolejki element o najmniejszej wartości (określonej przez element Comparator T).

T poll()

Pobiera i usuwa element z początku kolejki.

boolean remove(T object)

Usuwa element z tej kolejki.

int size()
T take()

Pobiera i usuwa z kolejki element o najmniejszej wartości (określonej przez element Comparator T).

T take(IMatcher<T> matcher)

Pobiera i usuwa pierwszy element T w kolejce, w której matcher.matches(T) jest równe true, w razie potrzeby czekając, aż taki element będzie dostępny.

Konstruktory publiczne

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Tworzy ConditionPriorityBlockingQueue

Elementy będą traktowane priorytetowo w kolejności FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

Tworzy ConditionPriorityBlockingQueue

Parametry
c Comparator: Comparator używany do ustalania priorytetów w kolejce.

Metody publiczne

dodaj

public boolean add (T addedElement)

Wstawia określony element do tej kolejki. Kolejka jest nieograniczona, więc ta metoda nigdy nie będzie blokować.

Parametry
addedElement T: element do dodania

Zwraca
boolean true

Zgłasza
ClassCastException jeśli określonego elementu nie można porównać z elementami znajdującymi się obecnie w kolejce priorytetowej zgodnie z kolejnością w tej kolejce.
NullPointerException jeśli określony element ma wartość null.

addUnique

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

Dodaje element do tej kolejki, zastępując każdy istniejący obiekt, który spełnia podany warunek.

Parametry
matcher IMatcher: narzędzie do porównywania istniejących obiektów.

object T: obiekt do dodania

Zwraca
T zastąpiony obiekt lub null, jeśli nie istnieje.

wyczyść

public void clear ()

Usuwa wszystkie elementy z tej kolejki.

zawiera

public boolean contains (T object)

Sprawdź, czy obiekt znajduje się obecnie w tej kolejce.

Parametry
object T: obiekt do znalezienia;

Zwraca
boolean true, jeśli dany obiekt znajduje się w kolejce. false> w innym przypadku.

getCopy

public List<T> getCopy ()

Pobierz kopię zawartości kolejki.

Zwraca
List<T>

iterator

public Iterator<T> iterator ()

Zwraca
Iterator<T>

sondować

public T poll (IMatcher<T> matcher)

Pobiera i usuwa element o najmniejszej wartości (określonej przez podany element Comparator T w kolejce, gdzie matcher.matches(T) to true).

Parametry
matcher IMatcher: IMatcher, którego należy użyć do oceny elementów

Zwraca
T najmniejszy pasujący element lub null, jeśli nie ma pasujących elementów;

sondować

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

Pobiera i usuwa element o najmniejszej wartości (określonej przez podany element Comparator T w kolejce, gdzie matcher.matches(T) to true).

Blokuje maksymalnie timeout czasu, aby element stał się dostępny.

Parametry
timeout long: czas oczekiwania na udostępnienie elementu.

unit TimeUnit: TimeUnit limitu czasu

matcher IMatcher: IMatcher, którego należy użyć do oceny elementów

Zwraca
T najmniejszy pasujący element lub null, jeśli nie ma pasujących elementów;

Zgłasza
InterruptedException

sondować

public T poll (long timeout, 
                TimeUnit unit)

Pobiera i usuwa z kolejki element o najmniejszej wartości (określonej przez element Comparator T).

Blokuje maksymalnie timeout czasu, aby element stał się dostępny.

Parametry
timeout long: czas oczekiwania na udostępnienie elementu.

unit TimeUnit: TimeUnit limitu czasu

Zwraca
T najmniejszy pasujący element lub null, jeśli nie ma pasujących elementów;

Zgłasza
InterruptedException

sondować

public T poll ()

Pobiera i usuwa element z początku kolejki.

Zwraca
T początek tej kolejki lub null, jeśli kolejka jest pusta.

usuń

public boolean remove (T object)

Usuwa element z tej kolejki.

Parametry
object T: obiekt do usunięcia

Zwraca
boolean true, jeśli dany obiekt został usunięty z kolejki. false> w innym przypadku.

rozmiar

public int size ()

Zwraca
int liczba elementów w kolejce,

zabrać,

public T take ()

Pobiera i usuwa z kolejki element o najmniejszej wartości (określonej przez element Comparator T).

Blokuje na czas nieokreślony, dopóki element nie stanie się dostępny.

Zwraca
T początek tej kolejki,

Zgłasza
InterruptedException jeśli zostanie przerwane podczas oczekiwania,

zabrać,

public T take (IMatcher<T> matcher)

Pobiera i usuwa pierwszy element T w kolejce, w której matcher.matches(T) jest równe true, w razie potrzeby czekając, aż taki element będzie dostępny.

Parametry
matcher IMatcher: IMatcher, którego należy użyć do oceny elementów

Zwraca
T dopasowany element,

Zgłasza
InterruptedException jeśli przerwano oczekiwanie,