PriorityBlockingQueue Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe PriorityQueue et fournit des opérations de récupération bloquantes.
[Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class PriorityBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type PriorityBlockingQueue = class
inherit AbstractQueue
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IBlockingQueue
interface IQueue
interface ICollection
interface IIterable
- Héritage
- Attributs
- Implémente
Remarques
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe PriorityQueue et fournit des opérations de récupération bloquantes. Bien que cette file d’attente soit logiquement non liée, les ajouts tentés peuvent échouer en raison de l’épuisement des ressources (à l’origine OutOfMemoryError). Cette classe n’autorise null pas les éléments. Une file d’attente prioritaire s’appuyant sur un ordre naturel comparable ne permet pas non plus l’insertion d’objets non comparables (ce qui entraîne ClassCastException).
Cette classe et son itérateur implémentent toutes les <méthodes em>optional</em> des Collection interfaces.Iterator L’itérateur fourni dans la méthode #iterator() et le Spliterator fourni dans la méthode #spliterator() ne sont <>pas</em> garantis pour parcourir les éléments de PriorityBlockingQueue dans un ordre particulier. Si vous avez besoin d’une traversée ordonnée, envisagez d’utiliser Arrays.sort(pq.toArray()). En outre, la méthode drainTo peut être utilisée pour <>em remove</em> certains ou tous les éléments dans l’ordre de priorité et les placer dans une autre collection.
Les opérations sur cette classe ne garantissent pas l’ordre des éléments avec une priorité égale. Si vous devez appliquer un ordre, vous pouvez définir des classes ou des comparateurs personnalisés qui utilisent une clé secondaire pour rompre les liens dans les valeurs de priorité primaire. Par exemple, voici une classe qui applique un tie-breaking de premier dans le premier sorti à des éléments comparables. Pour l’utiliser, vous devez insérer un new FIFOEntry(anEntry) objet à la place d’un objet d’entrée simple.
{@code
class FIFOEntry<E extends Comparable<? super E>>
implements Comparable<FIFOEntry<E>> {
static final AtomicLong seq = new AtomicLong();
final long seqNum;
final E entry;
public FIFOEntry(E entry) {
seqNum = seq.getAndIncrement();
this.entry = entry;
}
public E getEntry() { return entry; }
public int compareTo(FIFOEntry<E> other) {
int res = entry.compareTo(other.entry);
if (res == 0 && other.entry != this.entry)
res = (seqNum < other.seqNum ? -1 : 1);
return res;
}
}}
Cette classe est membre de l’infrastructure de collections Java.
Ajouté à la version 1.5.
Java documentation pour java.util.concurrent.PriorityBlockingQueue.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| PriorityBlockingQueue() |
Crée une |
| PriorityBlockingQueue(ICollection) |
Crée un |
| PriorityBlockingQueue(Int32, IComparator) |
Crée une |
| PriorityBlockingQueue(Int32) |
Crée une |
| PriorityBlockingQueue(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| IsEmpty |
À ajouter (Hérité de AbstractCollection) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| JniPeerMembers |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| Add(Object) |
À ajouter (Hérité de AbstractCollection) |
| AddAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| Clear() |
À ajouter (Hérité de AbstractCollection) |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Comparator() |
Retourne le comparateur utilisé pour classer les éléments de cette file d’attente, ou |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| Contains(Object) |
À ajouter (Hérité de AbstractCollection) |
| ContainsAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| DrainTo(ICollection, Int32) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| DrainTo(ICollection) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| Element() |
Récupère, mais ne supprime pas, la tête de cette file d’attente. (Hérité de AbstractQueue) |
| Equals(Object) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| ForEach(IConsumer) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| Iterator() |
Retourne un itérateur sur les éléments de cette file d’attente. |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| Offer(Object, Int64, TimeUnit) |
Insère l’élément spécifié dans cette file d’attente de priorité. |
| Offer(Object) |
Insère l’élément spécifié dans cette file d’attente de priorité. |
| Peek() |
Récupère, mais ne supprime pas, la tête de cette file d’attente ou retourne |
| Poll() |
Récupère et supprime la tête de cette file d’attente ou retourne |
| Poll(Int64, TimeUnit) |
Récupère et supprime la tête de cette file d’attente, en attendant le délai d’attente spécifié si nécessaire pour qu’un élément devienne disponible. |
| Put(Object) |
Insère l’élément spécifié dans cette file d’attente de priorité. |
| RemainingCapacity() |
Retourne |
| Remove() |
Récupère et supprime la tête de cette file d’attente. (Hérité de AbstractQueue) |
| Remove(Object) |
À ajouter (Hérité de AbstractCollection) |
| RemoveAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| RemoveIf(IPredicate) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| RetainAll(ICollection) |
À ajouter (Hérité de AbstractCollection) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| Size() |
Retourne le nombre d’objets qu’il |
| Spliterator() |
Retourne un |
| Take() |
Récupère et supprime la tête de cette file d’attente, en attendant si nécessaire jusqu’à ce qu’un élément devienne disponible. |
| ToArray() |
À ajouter (Hérité de AbstractCollection) |
| ToArray(Object[]) |
À ajouter (Hérité de AbstractCollection) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToString() |
Retourne une représentation sous forme de chaîne de l’objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| IJavaPeerable.Finalized() |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| IJavaPeerable.JniObjectReferenceControlBlock |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| IJavaPeerable.UnregisterFromRuntime() |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| OfferAsync(IBlockingQueue, Object, Int64, TimeUnit) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| OfferAsync(IBlockingQueue, Object) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| PollAsync(IBlockingQueue, Int64, TimeUnit) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| PutAsync(IBlockingQueue, Object) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| TakeAsync(IBlockingQueue) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| ToEnumerable(IIterable) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| ToEnumerable<T>(IIterable) |
File d’attente bloquante BlockingQueue sans limite qui utilise les mêmes règles de classement que la classe |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |