Lenguaje

AbstractInterruptibleChannel Clase

Definición

Clase de implementación base para canales interrumpibles.

[Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)]
public abstract class AbstractInterruptibleChannel : Java.Lang.Object, IDisposable, Java.Nio.Channels.IInterruptibleChannel
[<Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)>]
type AbstractInterruptibleChannel = class
    inherit Object
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IInterruptibleChannel
Herencia
AbstractInterruptibleChannel
Derivado
Atributos
Implementaciones

Comentarios

Clase de implementación base para canales interrumpibles.

Esta clase encapsula la maquinaria de bajo nivel necesaria para implementar el cierre asincrónico y la interrupción de los canales. Una clase de canal concreta debe invocar los #begin begin métodos y #end end antes y después, respectivamente, invocar una operación de E/S que podría bloquearse indefinidamente. Para asegurarse de que el #end end método siempre se invoca, estos métodos deben utilizarse dentro de un try ...  finally Bloquear:

<blockquote>

boolean completed = false;
            try {
                begin();
                completed = ...;    // Perform blocking I/O operation
                return ...;         // Return result
            } finally {
                end(completed);
            }

</blockquote>

El completed argumento del #end end método indica si la operación de E/S se completó o no, es decir, si tenía algún efecto que fuera visible para el invocador. En el caso de una operación que lee bytes, por ejemplo, este argumento debe ser true si, y solo si, algunos bytes se transfirieron realmente al búfer de destino del invocador.

Una clase de canal concreta también debe implementar el #implCloseChannel implCloseChannel método de tal manera que si se invoca mientras se bloquea otro subproceso en una operación nativa de E/S en el canal, esa operación devolverá inmediatamente, ya sea iniciando una excepción o devolviendo normalmente. Si se interrumpe un subproceso o el canal en el que se bloquea se cierra de forma asincrónica, el método del #end end canal producirá la excepción adecuada.

Esta clase realiza la sincronización necesaria para implementar la java.nio.channels.Channel especificación. Las implementaciones del #implCloseChannel implCloseChannel método no se deben sincronizar con otros subprocesos que podrían intentar cerrar el canal.

Agregado en la versión 1.4.

Documentación de Java para java.nio.channels.spi.AbstractInterruptibleChannel.

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.

Constructores

Nombre Description
AbstractInterruptibleChannel()

Inicializa una nueva instancia de esta clase.

AbstractInterruptibleChannel(IntPtr, JniHandleOwnership)

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

Propiedades

Nombre Description
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)
IsOpen

Devuelve true si este canal está abierto.

JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
JniPeerMembers

Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(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

Nombre Description
Begin()

Marca el principio de una operación de E/S que podría bloquearse indefinidamente.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Close()

Cierra este canal.

Construct(JniObjectReference, JniObjectReferenceOptions)

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
End(Boolean)

Marca el final de una operación de E/S que podría bloquearse indefinidamente.

Equals(Object)

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
Equals(Object)

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

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
ImplCloseChannel()

Cierra este canal.

JavaFinalize()
Obsoletos.

Lo llama 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)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

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

(Heredado de Object)
Wait(Int64, Int32)

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

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>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

Nombre Description
IJavaPeerable.Disposed()

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Clase de implementación base para canales interrumpibles.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Clase de implementación base para canales interrumpibles.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Clase de implementación base para canales interrumpibles.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a