ConditionPriorityBlockQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.ConditionPriority GroupingQueue<T> |
Klasa zgodna z wątkami z operacjami podobnymi do ERROR(/PriorityBlockingQueue)
, które mogą pobierać obiekty
które spełniają określone warunki.
Iteracja jest też bezpieczna w przypadku wątków, ale nie jest spójna. Podczas iteracji tworzona jest kopia kolejki
w momencie utworzenia, a kopia ta będzie używana jako miejsce docelowe iteracji. Jeśli kolejka jest modyfikowana w okresie
iteracji, ERROR(/ConcurrentModificationException)
nie zostanie zgłoszony, ale iterator
nie odzwierciedla zmienionej zawartości.
Zobacz też:
Podsumowanie
Zagnieżdżone klasy | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Interfejs służący do określania, czy elementy pasują do jakiegoś rodzaju warunku. |
Konstruktory publiczne | |
---|---|
ConditionPriorityBlockingQueue()
Tworzy Elementy będą nadane priorytet w kolejności zgodnej z 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 kolejki, zastępując istniejący obiekt spełniający dany warunek. |
void
|
clear()
Usuwa wszystkie elementy z tej kolejki. |
boolean
|
contains(T object)
Sprawdź, 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ść (opisaną na podstawie podanego elementu |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu |
T
|
poll(IMatcher<T> matcher)
Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu |
T
|
poll()
Pobiera i usuwa nagłówek tej kolejki. |
boolean
|
remove(T object)
Usuwa element z kolejki. |
int
|
size()
|
T
|
take()
Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu |
T
|
take(IMatcher<T> matcher)
Pobiera i usuwa pierwszy element T w kolejce, w którym znajduje się matcher.matches(T)
|
Konstruktory publiczne
ConditionPriorityBlockQueue
public ConditionPriorityBlockingQueue ()
Tworzy ConditionPriorityBlockingQueue
Elementy będą nadane priorytet w kolejności zgodnej z FIFO.
ConditionPriorityBlockQueue
public ConditionPriorityBlockingQueue (c)
Tworzy ConditionPriorityBlockingQueue
Parametry | |
---|---|
c |
: ERROR(/Comparator) określa priorytet kolejki. |
Metody publiczne
dodaj
public boolean add (T addedElement)
Wstawia określony element do tej kolejki. Kolejka jest niepowiązana, więc ta metoda i nigdy nie blokować.
Parametry | |
---|---|
addedElement |
T : element do dodania |
Zwroty | |
---|---|
boolean |
true |
Rzuty | |
---|---|
ClassCastException |
jeśli określonego elementu nie można porównać z elementami aktualnie w kolejce priorytetów według kolejności w kolejce priorytetów |
NullPointerException |
jeśli określony element ma wartość null |
addUnique
public T addUnique (IMatcher<T> matcher, T object)
Dodaje element do kolejki, zastępując istniejący obiekt spełniający dany warunek.
Parametry | |
---|---|
matcher |
IMatcher : dopasowanie do oceny istniejących obiektów |
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)
Sprawdź, czy obiekt znajduje się obecnie w tej kolejce.
Parametry | |
---|---|
object |
T : obiekt do znalezienia; |
Zwroty | |
---|---|
boolean |
true , jeśli dany obiekt jest w kolejce. false>
w przeciwnym razie. |
getCopy
publicgetCopy ()
Pobierz kopię zawartości kolejki.
Zwroty | |
---|---|
|
iterator
publiciterator ()
Zwroty | |
---|---|
|
ankieta
public T poll (long timeout, TimeUnit unit)
Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator)
T w argumencie
w kolejce.
Zablokowanie możliwości udostępnienia elementu do timeout raza.
Parametry | |
---|---|
timeout |
long : czas oczekiwania na dostępność elementu. |
unit |
TimeUnit : ERROR(/TimeUnit) limitu czasu |
Zwroty | |
---|---|
T |
minimalną liczbę dopasowanych elementów 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ść (opisaną na podstawie podanego elementu ERROR(/Comparator)
T w argumencie
kolejka, w której matcher.matches(T) to true
.
Zablokowanie możliwości udostępnienia elementu do timeout raza.
Parametry | |
---|---|
timeout |
long : czas oczekiwania na dostępność elementu. |
unit |
TimeUnit : ERROR(/TimeUnit) limitu czasu |
matcher |
IMatcher : obiekt IMatcher używany do oceny elementów |
Zwroty | |
---|---|
T |
minimalną liczbę dopasowanych elementów lub null , jeśli nie ma pasujących elementów |
ankieta
public T poll (IMatcher<T> matcher)
Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator)
T w argumencie
kolejka, w której matcher.matches(T) to true
.
Parametry | |
---|---|
matcher |
IMatcher : obiekt IMatcher używany do oceny elementów |
Zwroty | |
---|---|
T |
minimalną liczbę dopasowanych elementów lub null , jeśli nie ma pasujących elementów |
ankieta
public T poll ()
Pobiera i usuwa nagłówek tej kolejki.
Zwroty | |
---|---|
T |
nagłówek tej kolejki, lub null , jeśli kolejka jest pusta |
usuwania
public boolean remove (T object)
Usuwa element z kolejki.
Parametry | |
---|---|
object |
T : obiekt do usunięcia. |
Zwroty | |
---|---|
boolean |
true , jeśli dany obiekt został usunięty z kolejki. false>
w przeciwnym razie. |
rozmiar
public int size ()
Zwroty | |
---|---|
int |
liczbę elementów w kolejce |
wziąć
public T take ()
Pobiera i usuwa minimalną wartość (opisaną na podstawie podanego elementu ERROR(/Comparator)
T w argumencie
w kolejce.
Blokuje dostęp do elementu na czas nieokreślony.
Zwroty | |
---|---|
T |
na początku tej kolejki |
Rzuty | |
---|---|
InterruptedException |
jeśli przerwano podczas oczekiwania |
wziąć
public T take (IMatcher<T> matcher)
Pobiera i usuwa pierwszy element T w kolejce, w którym znajduje się matcher.matches(T)
true
. W razie potrzeby poczekaj, aż taki element będzie dostępny.
Parametry | |
---|---|
matcher |
IMatcher : obiekt IMatcher używany do oceny elementów |
Zwroty | |
---|---|
T |
dopasowany element |
Rzuty | |
---|---|
InterruptedException |
jeśli przerwano podczas oczekiwania |