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.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
- 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 |
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. |