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>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Interfejs do określania, czy elementy spełniają określone warunki. |
Konstruktory publiczne | |
|---|---|
ConditionPriorityBlockingQueue()
Tworzy Elementy będą traktowane priorytetowo w kolejności FIFO. |
|
ConditionPriorityBlockingQueue(Comparator<T> c)
|
|
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 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Pobiera i usuwa minimum (określone przez podany element |
T
|
poll(long timeout, TimeUnit unit)
Pobiera i usuwa z kolejki element o najmniejszej wartości (określonej przez element |
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 |
T
|
take(IMatcher<T> matcher)
Pobiera i usuwa pierwszy element T w kolejce, w której matcher.matches(T) jest równe |
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, |