AbstractInterruptibleChannel 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í.
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
- 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |