PriorityBlockingQueue Clase

Definición

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

[Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class PriorityBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, 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
Herencia
Atributos
Implementaciones

Comentarios

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo. Aunque esta cola está desenlatada lógicamente, es posible que se produzca un error en las adiciones intentadas debido al agotamiento de recursos (lo que OutOfMemoryErrorprovoca ). Esta clase no permite null elementos. Una cola de prioridad que se basa en el orden natural comparable tampoco permite la inserción de objetos no comparables (lo que da como resultado ClassCastException).

Esta clase y su iterador implementan todos los <métodos em>optional</em> de las Collection interfaces y Iterator . El iterador proporcionado en el método #iterator() y el Spliterator proporcionado en el método #spliterator() son <em>not</em> garantizados para atravesar los elementos de PriorityBlockingQueue en cualquier orden determinado. Si necesita recorrido ordenado, considere la posibilidad de usar Arrays.sort(pq.toArray()). Además, el método drainTo se puede usar para>< quitar</em> algunos o todos los elementos en orden de prioridad y colocarlos en otra colección.

Las operaciones de esta clase no garantizan el orden de los elementos con la misma prioridad. Si necesita aplicar una ordenación, puede definir clases o comparadores personalizados que usen una clave secundaria para interrumpir los vínculos en los valores de prioridad principal. Por ejemplo, esta es una clase que aplica el primer en primer lugar al desempate a elementos comparables. Para usarlo, insertaría un new FIFOEntry(anEntry) en lugar de un objeto de entrada sin formato.

{@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;
              }
            }}

Esta clase es miembro de Java Collections Framework.

Agregado en 1.5.

Documentación de Java para java.util.concurrent.PriorityBlockingQueue.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Constructores

PriorityBlockingQueue()

Crea un PriorityBlockingQueue objeto con la capacidad inicial predeterminada (11) que ordena sus elementos según su ordenación natural comparable.

PriorityBlockingQueue(ICollection)

Crea un PriorityBlockingQueue objeto que contiene los elementos de la colección especificada.

PriorityBlockingQueue(Int32)

Crea un PriorityBlockingQueue objeto con la capacidad inicial especificada que ordena sus elementos según su orden natural comparable.

PriorityBlockingQueue(Int32, IComparator)

Crea un PriorityBlockingQueue objeto con la capacidad inicial especificada que ordena sus elementos según el comparador especificado.

PriorityBlockingQueue(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el entorno de ejecución.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsEmpty

Para agregar

(Heredado de AbstractCollection)
JniIdentityHashCode

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
JniPeerMembers

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

PeerReference

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

Add(Object)

Para agregar

(Heredado de AbstractCollection)
AddAll(ICollection)

Para agregar

(Heredado de AbstractCollection)
Clear()

Para agregar

(Heredado de AbstractCollection)
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Comparator()

Devuelve el comparador utilizado para ordenar los elementos de esta cola, o null si esta cola usa el orden natural comparable de sus elementos.

Contains(Object)

Para agregar

(Heredado de AbstractCollection)
ContainsAll(ICollection)

Para agregar

(Heredado de AbstractCollection)
Dispose()

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
Dispose(Boolean)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
DrainTo(ICollection)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

DrainTo(ICollection, Int32)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

Element()

Recupera, pero no quita, el encabezado de esta cola.

(Heredado de AbstractQueue)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
ForEach(IConsumer)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
Iterator()

Devuelve un iterador sobre los elementos de esta cola.

JavaFinalize()

Llamado por el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto.

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Offer(Object)

Inserta el elemento especificado en esta cola de prioridad.

Offer(Object, Int64, TimeUnit)

Inserta el elemento especificado en esta cola de prioridad.

Peek()

Recupera, pero no quita, el encabezado de esta cola o devuelve null si esta cola está vacía.

Poll()

Recupera y quita el encabezado de esta cola, o devuelve null si esta cola está vacía.

Poll(Int64, TimeUnit)

Recupera y quita el encabezado de esta cola, esperando hasta el tiempo de espera especificado si es necesario para que un elemento esté disponible.

Put(Object)

Inserta el elemento especificado en esta cola de prioridad.

RemainingCapacity()

Siempre devuelve Integer.MAX_VALUE porque no PriorityBlockingQueue hay una capacidad restringida.

Remove()

Recupera y quita el encabezado de esta cola.

(Heredado de AbstractQueue)
Remove(Object)

Para agregar

(Heredado de AbstractCollection)
RemoveAll(ICollection)

Para agregar

(Heredado de AbstractCollection)
RemoveIf(IPredicate)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

RetainAll(ICollection)

Para agregar

(Heredado de AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
Size()

Devuelve un recuento del número de objetos que contiene.Collection

Spliterator()

Devuelve un Spliterator objeto sobre los elementos de esta cola.

Take()

Recupera y quita el encabezado de esta cola, esperando si es necesario hasta que un elemento esté disponible.

ToArray()

Para agregar

(Heredado de AbstractCollection)
ToArray(Object[])

Para agregar

(Heredado de AbstractCollection)
ToArray<T>()

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
IJavaPeerable.Finalized()

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

GetJniTypeName(IJavaPeerable)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

OfferAsync(IBlockingQueue, Object)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

PollAsync(IBlockingQueue, Int64, TimeUnit)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

PutAsync(IBlockingQueue, Object)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

TakeAsync(IBlockingQueue)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

ToEnumerable(IIterable)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

ToEnumerable<T>(IIterable)

Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase PriorityQueue y proporciona operaciones de recuperación de bloqueo.

Se aplica a