Compartir a través de


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.Interop.IJavaPeerable, 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

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

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

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
JniPeerMembers

Clase de implementación base para canales interrumpibles.

PeerReference

Clase de implementación base para canales interrumpibles.

(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

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.

Dispose()

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
Dispose(Boolean)

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
End(Boolean)

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

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()

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)
ToArray<T>()

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Clase de implementación base para canales interrumpibles.

(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)

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, 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)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
IJavaPeerable.Finalized()

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Clase de implementación base para canales interrumpibles.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Clase de implementación base para canales interrumpibles.

(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)

Clase de implementación base para canales interrumpibles.

GetJniTypeName(IJavaPeerable)

Clase de implementación base para canales interrumpibles.

Se aplica a