PriorityBlockingQueue Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 OutOfMemoryError
provoca ). 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(ICollection) |
Crea un |
PriorityBlockingQueue(Int32) |
Crea un |
PriorityBlockingQueue(Int32, IComparator) |
Crea un |
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 |
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 |
JniPeerMembers |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
PeerReference |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
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 |
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 |
Dispose(Boolean) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
DrainTo(ICollection) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
DrainTo(ICollection, Int32) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
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 |
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 |
Poll() |
Recupera y quita el encabezado de esta cola, o devuelve |
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 |
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 |
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. |
Spliterator() |
Devuelve un |
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 |
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 |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
IJavaPeerable.Finalized() |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
IJavaPeerable.JniManagedPeerState |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
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 |
GetJniTypeName(IJavaPeerable) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
OfferAsync(IBlockingQueue, Object) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
OfferAsync(IBlockingQueue, Object, Int64, TimeUnit) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
PollAsync(IBlockingQueue, Int64, TimeUnit) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
PutAsync(IBlockingQueue, Object) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
TakeAsync(IBlockingQueue) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
ToEnumerable(IIterable) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |
ToEnumerable<T>(IIterable) |
Una cola de bloqueo de BlockingQueue sin enlazar que usa las mismas reglas de ordenación que la clase |