ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Klasa bezpieczna dla wątków z operacjami podobnymi do operacji ERROR(/PriorityBlockingQueue), które mogą pobierać obiekty spełniające określony warunek.

Iteracja jest również bezpieczna w połączeniu z wątkami, ale nie jest spójna. Podczas tworzenia iteratora tworzona jest kopia kolejki, która jest używana jako docel iteracji. Jeśli kolejka zostanie zmodyfikowana podczas iteracji, nie zostanie wywołana funkcja ERROR(/ConcurrentModificationException), ale iterator nie będzie też odzwierciedlać zmodyfikowanej zawartości.

Podsumowanie

Zagnieżdżone klasy

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher pasuje do dowolnego obiektu. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Interfejs do określania, czy elementy spełniają określony warunek. 

Konstruktory publiczne

ConditionPriorityBlockingQueue()

Tworzy ConditionPriorityBlockingQueue

Elementy zostaną pogrupowane według zasady FIFO.

ConditionPriorityBlockingQueue( 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 podane kryterium.

void clear()

Usuwa wszystkie elementy z tej kolejki.

boolean contains(T object)

Określa, czy obiekt znajduje się obecnie w tej kolejce.

getCopy()

Pobierz kopię zawartości kolejki.

iterator()

T poll(long timeout, TimeUnit unit)

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole).

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

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole, gdzie matcher.matches(T) to true).

T poll(IMatcher<T> matcher)

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole, gdzie matcher.matches(T) to true).

T poll()

Pobiera i usuwa element z pierwszej pozycji kolejki.

boolean remove(T object)

Usuwa element z tej kolejki.

int size()
T take()

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole).

T take(IMatcher<T> matcher)

Pobiera i usuwa pierwszy element T z kolejki, w której matcher.matches(T) jest true. W razie potrzeby oczekuje, aż element stanie się dostępny.

Konstruktory publiczne

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Tworzy ConditionPriorityBlockingQueue

Elementy zostaną pogrupowane według zasady FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Tworzy ConditionPriorityBlockingQueue

Parametry
c : ERROR(/Comparator) używany do ustalania kolejności w kolejce.

Metody publiczne

dodaj

public boolean add (T addedElement)

Wstawia określony element do tej kolejki. Ponieważ kolejka jest nieskończona, ta metoda nigdy nie zablokuje się.

Parametry
addedElement T: element do dodania

Zwroty
boolean true

Rzuty
ClassCastException jeśli nie można porównać podanego elementu z elementami znajdującymi się obecnie w kole priorytetowej zgodnie z kolejnością w tej kolejce;
NullPointerException jeśli podany element jest pusty

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 podane kryterium.

Parametry
matcher IMatcher: element porównujący istniejące obiekty

object T: obiekt do dodania

Zwroty
T zastąpiony obiekt lub null, jeśli żaden nie istnieje.

wyczyść

public void clear ()

Usuwa wszystkie elementy z tej kolejki.

zawiera

public boolean contains (T object)

Określa, czy obiekt znajduje się obecnie w tej kolejce.

Parametry
object T: obiekt do znalezienia

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

getCopy

public  getCopy ()

Pobierz kopię zawartości kolejki.

Zwroty

iterator

public  iterator ()

Zwroty

ankieta

public T poll (long timeout, 
                TimeUnit unit)

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole).

Blokuje dostęp do elementu na maksymalnie timeout godzin.

Parametry
timeout long: czas oczekiwania na udostępnienie elementu

unit TimeUnit: ERROR(/TimeUnit) czasu oczekiwania

Zwroty
T minimalny pasujący element lub null, jeśli nie ma pasujących elementów

ankieta

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

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole, gdzie matcher.matches(T) to true).

Blokuje dostęp do elementu na maksymalnie timeout godzin.

Parametry
timeout long: czas oczekiwania na udostępnienie elementu

unit TimeUnit: ERROR(/TimeUnit) czasu oczekiwania

matcher IMatcher: IMatcher do oceny elementów

Zwroty
T minimalny pasujący element lub null, jeśli nie ma pasujących elementów

ankieta

public T poll (IMatcher<T> matcher)

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole, gdzie matcher.matches(T) to true).

Parametry
matcher IMatcher: IMatcher do oceny elementów

Zwroty
T minimalny pasujący element lub null, jeśli nie ma pasujących elementów

ankieta

public T poll ()

Pobiera i usuwa element z pierwszej pozycji kolejki.

Zwroty
T element z pierwszej pozycji w kolejce lub null, jeśli kolejka jest pusta;

usuwania

public boolean remove (T object)

Usuwa element z tej kolejki.

Parametry
object T: obiekt do usunięcia

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

rozmiar

public int size ()

Zwroty
int liczba elementów w kole.

take

public T take ()

Pobiera i usuwa minimalną wartość (określaną przez podany element ERROR(/Comparator) T w kole).

Blokuje dostęp do elementu na czas nieokreślony.

Zwroty
T początek kolejki

Rzuty
InterruptedException jeśli połączenie zostało przerwane podczas oczekiwania,

take

public T take (IMatcher<T> matcher)

Pobiera i usuwa pierwszy element T z kolejki, w której matcher.matches(T) jest true. W razie potrzeby oczekuje, aż element stanie się dostępny.

Parametry
matcher IMatcher: IMatcher do oceny elementów

Zwroty
T dopasowany element,

Rzuty
InterruptedException jeśli połączenie zostało przerwane podczas oczekiwania,