ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
Classe thread-safe avec des opérations semblables à ERROR(/PriorityBlockingQueue)
pouvant récupérer des objets correspondant à une certaine condition.
L'itération est également thread-safe, mais pas cohérente. Une copie de la file d'attente est créée au moment de la création de l'itérateur, et cette copie est utilisée comme cible d'itération. Si la file d'attente est modifiée pendant l'itération, aucune erreur ERROR(/ConcurrentModificationException)
n'est générée, mais l'itérateur ne reflète pas non plus le contenu modifié.
Voir aussi :
Résumé
Classes imbriquées | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Interface permettant de déterminer si des éléments correspondent à une sorte de condition. |
Constructeurs publics | |
---|---|
ConditionPriorityBlockingQueue()
Crée un Les éléments seront priorisés dans l'ordre FIFO. |
|
ConditionPriorityBlockingQueue(
Crée un |
Méthodes publiques | |
---|---|
boolean
|
add(T addedElement)
Insère l'élément spécifié dans cette file d'attente. |
T
|
addUnique(IMatcher<T> matcher, T object)
Ajoute un élément à cette file d'attente, en remplaçant tout objet existant correspondant à la condition donnée. |
void
|
clear()
Supprime tous les éléments de cette file d'attente. |
boolean
|
contains(T object)
Détermine si un objet est actuellement contenu dans cette file d'attente. |
|
getCopy()
Obtenez une copie du contenu de la file d'attente. |
|
iterator()
|
T
|
poll(long timeout, TimeUnit unit)
Récupère et supprime le minimum (selon l'élément |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Récupère et supprime la valeur minimale (selon l'élément |
T
|
poll(IMatcher<T> matcher)
Récupère et supprime la valeur minimale (selon l'élément |
T
|
poll()
Récupère et supprime le début de cette file d'attente. |
boolean
|
remove(T object)
Supprime un élément de cette file d'attente. |
int
|
size()
|
T
|
take()
Récupère et supprime le minimum (selon l'élément |
T
|
take(IMatcher<T> matcher)
Récupère et supprime le premier élément T de la file d'attente où matcher.matches(T) est |
Constructeurs publics
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
Crée un ConditionPriorityBlockingQueue
Les éléments seront priorisés dans l'ordre FIFO.
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (c)
Crée un ConditionPriorityBlockingQueue
Paramètres | |
---|---|
c |
: ERROR(/Comparator) utilisé pour hiérarchiser la file d'attente. |
Méthodes publiques
ajouter
public boolean add (T addedElement)
Insère l'élément spécifié dans cette file d'attente. Étant donné que la file d'attente est illimitée, cette méthode ne sera jamais bloquée.
Paramètres | |
---|---|
addedElement |
T : élément à ajouter |
Renvoie | |
---|---|
boolean |
true |
Génère | |
---|---|
ClassCastException |
si l'élément spécifié ne peut pas être comparé aux éléments actuellement dans la file d'attente prioritaire en fonction de l'ordre de la file d'attente prioritaire |
NullPointerException |
si l'élément spécifié est nul |
addUnique
public T addUnique (IMatcher<T> matcher, T object)
Ajoute un élément à cette file d'attente, en remplaçant tout objet existant correspondant à la condition donnée.
Paramètres | |
---|---|
matcher |
IMatcher : outil de mise en correspondance pour évaluer les objets existants |
object |
T : objet à ajouter |
Renvoie | |
---|---|
T |
l'objet remplacé ou null s'il n'existe pas |
effacer
public void clear ()
Supprime tous les éléments de cette file d'attente.
contient
public boolean contains (T object)
Détermine si un objet est actuellement contenu dans cette file d'attente.
Paramètres | |
---|---|
object |
T : objet à rechercher |
Renvoie | |
---|---|
boolean |
true si l'objet donné est contenu dans la file d'attente. false> dans les autres cas. |
getCopy
publicgetCopy ()
Obtenez une copie du contenu de la file d'attente.
Renvoie | |
---|---|
|
itérateur
publiciterator ()
Renvoie | |
---|---|
|
sondage
public T poll (long timeout, TimeUnit unit)
Récupère et supprime le minimum (selon l'élément ERROR(/Comparator)
T fourni dans la file d'attente).
Bloque jusqu'à timeout heures la disponibilité d'un élément.
Paramètres | |
---|---|
timeout |
long : durée d'attente pour qu'un élément devienne disponible |
unit |
TimeUnit : ERROR(/TimeUnit) du délai avant expiration |
Renvoie | |
---|---|
T |
l'élément correspondant minimal ou null si aucun élément ne correspond |
sondage
public T poll (long timeout, TimeUnit unit, IMatcher<T> matcher)
Récupère et supprime la valeur minimale (selon l'élément ERROR(/Comparator)
T fourni dans la file d'attente où matcher.matches(T) est true
).
Bloque jusqu'à timeout heures la disponibilité d'un élément.
Paramètres | |
---|---|
timeout |
long : durée d'attente avant qu'un élément ne devienne disponible |
unit |
TimeUnit : ERROR(/TimeUnit) du délai avant expiration |
matcher |
IMatcher : IMatcher à utiliser pour évaluer les éléments |
Renvoie | |
---|---|
T |
l'élément correspondant minimal ou null si aucun élément ne correspond |
sondage
public T poll (IMatcher<T> matcher)
Récupère et supprime la valeur minimale (selon l'élément ERROR(/Comparator)
T fourni dans la file d'attente où matcher.matches(T) est true
).
Paramètres | |
---|---|
matcher |
IMatcher : IMatcher à utiliser pour évaluer les éléments |
Renvoie | |
---|---|
T |
l'élément correspondant minimal ou null si aucun élément ne correspond |
sondage
public T poll ()
Récupère et supprime le début de cette file d'attente.
Renvoie | |
---|---|
T |
le début de cette file d'attente, ou null si la file d'attente est vide |
supprimer
public boolean remove (T object)
Supprime un élément de cette file d'attente.
Paramètres | |
---|---|
object |
T : objet à supprimer |
Renvoie | |
---|---|
boolean |
true si l'objet donné a été supprimé de la file d'attente. false> dans les autres cas. |
taille
public int size ()
Renvoie | |
---|---|
int |
le nombre d'éléments dans la file d'attente ; |
prendre
public T take ()
Récupère et supprime le minimum (selon l'élément ERROR(/Comparator)
T fourni dans la file d'attente).
Bloque indéfiniment l'élément jusqu'à ce qu'il soit disponible.
Renvoie | |
---|---|
T |
le début de cette file d'attente |
Génère | |
---|---|
InterruptedException |
en cas d'interruption pendant l'attente |
prendre
public T take (IMatcher<T> matcher)
Récupère et supprime le premier élément T de la file d'attente où matcher.matches(T) est true
, en attendant si nécessaire que cet élément devienne disponible.
Paramètres | |
---|---|
matcher |
IMatcher : IMatcher à utiliser pour évaluer les éléments |
Renvoie | |
---|---|
T |
l'élément mis en correspondance |
Génère | |
---|---|
InterruptedException |
en cas d'interruption pendant l'attente |