Compartir a través de


IBlockingDeque Interfaz

Definición

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

[Android.Runtime.Register("java/util/concurrent/BlockingDeque", "", "Java.Util.Concurrent.IBlockingDequeInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IBlockingDeque : IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IBlockingQueue, Java.Util.IDeque
[<Android.Runtime.Register("java/util/concurrent/BlockingDeque", "", "Java.Util.Concurrent.IBlockingDequeInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IBlockingDeque = interface
    interface IBlockingQueue
    interface IQueue
    interface ICollection
    interface IIterable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IDeque
Derivado
Atributos
Implementaciones

Comentarios

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

BlockingDeque Los métodos vienen en cuatro formas, con diferentes formas de controlar las operaciones que no se pueden satisfacer inmediatamente, pero que pueden cumplirse en algún momento en el futuro: uno produce una excepción, el segundo devuelve un valor especial (ya sea null o false, dependiendo de la operación), el tercero bloquea el subproceso actual indefinidamente hasta que la operación pueda realizarse correctamente y el cuarto bloque solo para un límite de tiempo máximo determinado antes de abandonar. Estos métodos se resumen en la tabla siguiente:

<table class="plain">caption Summary of BlockingDeque methods</caption><tr><th id="First" colspan="5"> First Element (Head)</th<>/tr tr><td><></td<>th id="FThrow" style="font-weight:normal; font-style: italic">Throws exception</th th<>id="FValue" style="font-weight:normal; font-style: italic">Special value</th><id="FBlock" style="font-weight:>< normal; font-style: italic">Blocks</th th><id="FTimes" style="font-weight:normal; font-style: italic">Times out</th<>/tr tr>><<th id="FInsert" style="text-align:left">Insert</th><td headers="First FInsert FThrow"#addFirst(Object) addFirst(e)<>/td><td headers="First FInsert FValue"/td td headers="First FInsert FBlock"/td td headers="First FInsert FBlock"#putFirst(Object) putFirst(e)<>/td<>td headers="First FInsert FValue"#offerFirst(Object) offerFirst(e)<>/td><td headers="First FInsert FTimes"><#offerFirst(Object, long, TimeUnit) offerFirst(e, time, unit)/td></tr tr>><<th id="FRemove" style="text-align:left">Remove</th><td headers="First FRemove FThrow"><#removeFirst() removeFirst()/td><td headers="First FRemove FValue">#pollFirst() pollFirst()</td td><headers="First FRemove FBlock">#takeFirst() takeFirst()</td td><headers="First FRemove FTimes"<>#pollFirst(long, TimeUnit) pollFirst(time, unit)/td<>/tr tr><><th id="FExamine" style=" text-align:left">Examine</th><td headers="First FExamine FThrow"#getFirst() getFirst()></td td><headers="First FExamine FValue"#peekFirst() peekFirst()></td td><headers="First FExamine FBlock" style="font--font-style:italic">not applicable</td td><headers="First FExamine FTimes" style="font-style:italic">not applicable</td<>/tr tr<>><th id="Last" colspan="5"> Last Element (Tail)</th></tr tr td><><></td<>th id="LThrow" style="font-weight:normal; font-style: italic">Throws exception</th th><id="LValue" style="font-weight:normal; font-style: italic">Special value</th><id="LBlock" style="font-weight:normal; font-style: italic">Blocks</th><id="LTimes" style="font-weight:normal; font-style: italic">Times out</th/tr tr>><<th id="LInsert" style="text-align:left">Insert</th>><< td headers="Last LInsert LThrow"<>#addLast(Object) addLast(e)/td td<>headers="Last LInsert LValue"<>#offerLast(Object) offerLast(e)/td td<>headers="Last LInsert LBlock"<#putLast(Object) putLast(e)>/td td<>headers="Last LInsert LTimes<>#offerLast(Object, long, TimeUnit) offerLast(e, time, unit)"/td></tr tr><><th id="LRemove" style="text-align:left"Remove/th<>td headers="Last LRemove LThrow"#removeLast() removeLast()></td td><headers="Last LRemove LValue"<>#pollLast() pollLast()/td td><headers="Last LRemove LBlock"<#takeLast() takeLast()>/td td><headers="Last LRemove LTimes"<#pollLast(long, TimeUnit) pollLast(time, unit)>/td></tr tr>><<th id="LExamine" style="text-align:left">Examine</th><><td headers="Last LExamine LThrow">#getLast() getLast()</td><td headers="Last LExamine LValue"><#peekLast() peekLast()/td td<>headers="Last LExamine LBlock" style="font-style:italic">not applicable</td td<>headers="Last LExamine LTimes" style="font-style:italic">not applicable</td></tr></table>

Al igual que cualquier BlockingQueue, un BlockingDeque es seguro para subprocesos, no permite elementos NULL y puede (o no) estar limitado por la capacidad.

Una BlockingDeque implementación se puede usar directamente como FIFO BlockingQueue. Los métodos heredados de la BlockingQueue interfaz son exactamente equivalentes a los BlockingDeque métodos, como se indica en la tabla siguiente:

<table class="plain">caption Comparison of BlockingQueue and BlockingDeque methods</caption><tr><td/td><>< th id="BQueue"BlockingQueue> Method/th><id="BDeque"> Equivalent BlockingDeque Method<</th/tr tr>><<th<> id="Insert" rowspan="4" style="text-align:left; vertical-align:top">Insert</th><id="add" style="font-weight:normal; text-align:left">><#add(Object) add(e)</th><td headers="Insert BDeque add"><#addLast(Object) addLast(e)/td<>/tr tr><<>th id="offer1" style="font-weight:normal; text-align:left"><#offer(Object) offer(e)/th td headers="Insert BDeque offer1"/td/tr tr tr<>><th id="put" style="font-weight:normal; text-align:left"<>#put(Object) put(e)/th>><<td headers="Insert BDeque put<#putLast(Object) putLast(e)>"#offerLast(Object) offerLast(e)<>/td<>></tr><Tr><th id="offer2" style="font-weight:normal; text-align:left"><#offer(Object, long, TimeUnit) offer(e, time, unit)/th><td headers="Insert BDeque offer2"#offerLast(Object, long, TimeUnit) offerLast(e, time, unit)></td<>/tr tr><><th id="Remove" rowspan="4" style="text-align:left; vertical-align:top">Remove</th<>id="remove" style="font-weight:normal; text-align:left"<>#remove() remove()/th<>td headers="Remove BDeque remove"<>#removeFirst() removeFirst()/td<>/tr tr><><th id="poll1" style=" font-weight:normal; text-align:left"><#poll() poll()/th><td headers="Remove BDeque poll1"><#pollFirst() pollFirst()/td<>/tr><<>th id="take" style="font-weight:normal; text-align:left"#take() take()<>/th td headers="Remove BDeque take"<>#takeFirst() takeFirst()/td<>/tr tr<><>th id="poll2" style="font-weight:normal; text-align:left"#poll(long, TimeUnit) poll(time, unit)></th><><td headers=" Quite BDeque poll2">#pollFirst(long, TimeUnit) pollFirst(time, unit)</td></tr tr>><<th id="Examine" rowspan="2" style="text-align:left; vertical-align:top">Examine</th<>id="element" style="font-weight:normal; text-align:left"<>#element() element()/th<>td headers="Examine BDeque element"#getFirst() getFirst()></td<>/tr><><th id="peek" style="font-weight:normal; text-align:left" >#peek() peek()</th><td headers="Examine BDeque peek"#peekFirst() peekFirst()></td<>/tr></table>

Efectos de coherencia de memoria: al igual que con otras colecciones simultáneas, las acciones de un subproceso antes de colocar un objeto en una BlockingDeque<acción i>before</i> posterior al acceso o eliminación de ese elemento de BlockingDeque en otro subproceso.

Esta interfaz es miembro de Java Collections Framework.

Agregado en la versión 1.6.

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

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

Propiedades

First

Recupera, pero no quita, el primer elemento de este deque.

(Heredado de IDeque)
Handle

Obtiene el valor JNI del objeto Android subyacente.

(Heredado de IJavaObject)
IsEmpty

Devuelve si no Collection contiene ningún elemento.

(Heredado de ICollection)
JniIdentityHashCode

Devuelve el valor de java.lang.System.identityHashCode() para la instancia ajustada.

(Heredado de IJavaPeerable)
JniManagedPeerState

Estado del mismo nivel administrado.

(Heredado de IJavaPeerable)
JniPeerMembers

Compatibilidad con la invocación y el acceso de miembros.

(Heredado de IJavaPeerable)
Last

Recupera, pero no quita, el último elemento de este deque.

(Heredado de IDeque)
PeerReference

Devuelve una JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)

Métodos

Add(Object)

Inserta el elemento especificado en la cola representada por este deque (es decir, en la cola de este deque) si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, devolviendo true al éxito y iniciando un IllegalStateException si no hay espacio disponible actualmente.

AddAll(ICollection)

Agrega todos los elementos de la colección especificada a esta colección (operación opcional).

(Heredado de ICollection)
AddFirst(Object)

Inserta el elemento especificado en la parte frontal de este deque si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, iniciando un IllegalStateException si no hay espacio disponible actualmente.

AddLast(Object)

Inserta el elemento especificado al final de este deque si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, iniciando un IllegalStateException si no hay espacio disponible actualmente.

Clear()

Quita todos los elementos de esta colección (operación opcional).

(Heredado de ICollection)
Contains(Object)

Devuelve true si este deque contiene el elemento especificado.

ContainsAll(ICollection)

Devuelve true si esta colección contiene todos los elementos de la colección especificada.

(Heredado de ICollection)
DescendingIterator()

Devuelve un iterador sobre los elementos de este deque en orden secuencial inverso.

(Heredado de IDeque)
Disposed()

Se llama cuando se ha eliminado la instancia.

(Heredado de IJavaPeerable)
DisposeUnlessReferenced()

Si no hay referencias pendientes a esta instancia, llama a Dispose(); de lo contrario, no hace nada.

(Heredado de IJavaPeerable)
DrainTo(ICollection)

Quita todos los elementos disponibles de esta cola y los agrega a la colección especificada.

(Heredado de IBlockingQueue)
DrainTo(ICollection, Int32)

Quita como máximo el número dado de elementos disponibles de esta cola y los agrega a la colección especificada.

(Heredado de IBlockingQueue)
Element()

Recupera, pero no quita, el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque).

Equals(Object)

Compara el objeto especificado con esta colección para obtener igualdad.

(Heredado de ICollection)
Finalized()

Se llama cuando se ha finalizado la instancia.

(Heredado de IJavaPeerable)
ForEach(IConsumer)

Realiza la acción dada para cada elemento de Iterable hasta que se hayan procesado todos los elementos o la acción produce una excepción.

(Heredado de IIterable)
GetHashCode()

Devuelve el valor de código hash de esta colección.

(Heredado de ICollection)
Iterator()

Devuelve un iterador sobre los elementos de este deque en la secuencia adecuada.

Offer(Object)

Inserta el elemento especificado en la cola representada por este deque (es decir, en la cola de este deque) si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, volviendo true al éxito y false si no hay espacio disponible actualmente.

Offer(Object, Int64, TimeUnit)

Inserta el elemento especificado en la cola representada por este deque (es decir, en la cola de este deque), esperando hasta el tiempo de espera especificado si es necesario para que el espacio esté disponible.

OfferFirst(Object)

Inserta el elemento especificado en la parte frontal de este deque si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, volviendo true al éxito y false si no hay espacio disponible actualmente.

OfferFirst(Object, Int64, TimeUnit)

Inserta el elemento especificado en la parte frontal de este deque, esperando hasta el tiempo de espera especificado si es necesario para que el espacio esté disponible.

OfferLast(Object)

Inserta el elemento especificado al final de este deque si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, volviendo true al éxito y false si no hay espacio disponible actualmente.

OfferLast(Object, Int64, TimeUnit)

Inserta el elemento especificado al final de este deque, esperando hasta el tiempo de espera especificado si es necesario para que el espacio esté disponible.

Peek()

Recupera, pero no quita, el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque) o devuelve null si este deque está vacío.

PeekFirst()

Recupera, pero no quita, el primer elemento de este deque o devuelve null si este deque está vacío.

(Heredado de IDeque)
PeekLast()

Recupera, pero no quita, el último elemento de este deque o devuelve null si este deque está vacío.

(Heredado de IDeque)
Poll()

Recupera y quita el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque) o devuelve null si este deque está vacío.

Poll(Int64, TimeUnit)

Recupera y quita el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque), esperando hasta el tiempo de espera especificado si es necesario para que un elemento esté disponible.

PollFirst()

Recupera y quita el primer elemento de este deque o devuelve null si este deque está vacío.

(Heredado de IDeque)
PollFirst(Int64, TimeUnit)

Recupera y quita el primer elemento de este deque, esperando hasta el tiempo de espera especificado si es necesario para que un elemento esté disponible.

PollLast()

Recupera y quita el último elemento de este deque o devuelve null si este deque está vacío.

(Heredado de IDeque)
PollLast(Int64, TimeUnit)

Recupera y quita el último elemento de este deque, esperando hasta el tiempo de espera especificado si es necesario para que un elemento esté disponible.

Pop()

Extrae un elemento de la pila representada por este deque.

(Heredado de IDeque)
Push(Object)

Inserta un elemento en la pila representada por este deque (es decir, en la cabeza de este deque) si es posible hacerlo inmediatamente sin infringir las restricciones de capacidad, iniciando un IllegalStateException si no hay espacio disponible actualmente.

Put(Object)

Inserta el elemento especificado en la cola representada por este deque (es decir, en la cola de este deque), esperando si es necesario para que el espacio esté disponible.

PutFirst(Object)

Inserta el elemento especificado en la parte frontal de este deque, esperando si es necesario para que el espacio esté disponible.

PutLast(Object)

Inserta el elemento especificado al final de este deque, esperando si es necesario para que el espacio esté disponible.

RemainingCapacity()

Devuelve el número de elementos adicionales que esta cola puede aceptar idealmente (en ausencia de restricciones de memoria o recursos) sin bloqueo o Integer.MAX_VALUE si no hay ningún límite intrínseco.

(Heredado de IBlockingQueue)
Remove()

Recupera y quita el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque).

Remove(Object)

Quita la primera aparición del elemento especificado de este deque.

RemoveAll(ICollection)

Quita todos los elementos de esta colección que también están incluidos en la colección especificada (operación opcional).

(Heredado de ICollection)
RemoveFirst()

Recupera y quita el primer elemento de este deque.

(Heredado de IDeque)
RemoveFirstOccurrence(Object)

Quita la primera aparición del elemento especificado de este deque.

RemoveIf(IPredicate)

Quita todos los elementos de esta colección que satisfacen el predicado especificado.

(Heredado de ICollection)
RemoveLast()

Recupera y quita el último elemento de este deque.

(Heredado de IDeque)
RemoveLastOccurrence(Object)

Quita la última aparición del elemento especificado de este deque.

RetainAll(ICollection)

Conserva solo los elementos de esta colección que se encuentran en la colección especificada (operación opcional).

(Heredado de ICollection)
SetJniIdentityHashCode(Int32)

Establezca el valor devuelto por JniIdentityHashCode.

(Heredado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

(Heredado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Establezca el valor devuelto por PeerReference.

(Heredado de IJavaPeerable)
Size()

Devuelve el número de elementos de este deque.

Spliterator()

Crea un Spliterator elemento sobre los elementos descritos por este Iterable.

(Heredado de IIterable)
Take()

Recupera y quita el encabezado de la cola representada por este deque (es decir, el primer elemento de este deque), esperando si es necesario hasta que un elemento esté disponible.

TakeFirst()

Recupera y quita el primer elemento de este deque, esperando si es necesario hasta que un elemento esté disponible.

TakeLast()

Recupera y quita el último elemento de este deque, esperando si es necesario hasta que un elemento esté disponible.

ToArray()

Devuelve una matriz que contiene todos los elementos de esta colección.

(Heredado de ICollection)
ToArray(IIntFunction)

Devuelve una matriz que contiene todos los elementos de esta colección, utilizando la función proporcionada generator para asignar la matriz devuelta.

(Heredado de ICollection)
ToArray(Object[])

Devuelve una matriz que contiene todos los elementos de esta colección; el tipo en tiempo de ejecución de la matriz devuelta es el de la matriz especificada.

(Heredado de ICollection)
UnregisterFromRuntime()

Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)

Implementaciones de interfaz explícitas

IIterable.Spliterator()

Crea un elemento Spliterator sobre los elementos de esta colección.

(Heredado de ICollection)

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)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

GetJniTypeName(IJavaPeerable)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

OfferFirstAsync(IBlockingDeque, Object)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

OfferFirstAsync(IBlockingDeque, Object, Int64, TimeUnit)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

OfferLastAsync(IBlockingDeque, Object)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

OfferLastAsync(IBlockingDeque, Object, Int64, TimeUnit)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

PollFirstAsync(IBlockingDeque, Int64, TimeUnit)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

PollLastAsync(IBlockingDeque, Int64, TimeUnit)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

PutFirstAsync(IBlockingDeque, Object)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

PutLastAsync(IBlockingDeque, Object)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

TakeFirstAsync(IBlockingDeque)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

TakeLastAsync(IBlockingDeque)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

OfferAsync(IBlockingQueue, Object)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

PollAsync(IBlockingQueue, Int64, TimeUnit)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

PutAsync(IBlockingQueue, Object)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

TakeAsync(IBlockingQueue)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

ToEnumerable(IIterable)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

ToEnumerable<T>(IIterable)

Que Deque además admite operaciones de bloqueo que esperan a que el deque deje de estar vacío al recuperar un elemento y espere a que el espacio esté disponible en el deque al almacenar un elemento.

Se aplica a