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.
Zobacz też:
Podsumowanie
Zagnieżdżone klasy | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Interfejs do określania, czy elementy spełniają określony warunek. |
Konstruktory publiczne | |
---|---|
ConditionPriorityBlockingQueue()
Tworzy Elementy zostaną pogrupowane według zasady FIFO. |
|
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 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Pobiera i usuwa minimalną wartość (określaną przez podany element |
T
|
poll(IMatcher<T> matcher)
Pobiera i usuwa minimalną wartość (określaną przez podany element |
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 |
T
|
take(IMatcher<T> matcher)
Pobiera i usuwa pierwszy element T z kolejki, w której matcher.matches(T) jest |
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
publicgetCopy ()
Pobierz kopię zawartości kolejki.
Zwroty | |
---|---|
|
iterator
publiciterator ()
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, |