SelectableChannel 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í.
Un canal que se puede multiplexar a través de .Selector
[Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)]
public abstract class SelectableChannel : Java.Nio.Channels.Spi.AbstractInterruptibleChannel, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)>]
type SelectableChannel = class
inherit AbstractInterruptibleChannel
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herencia
- Derivado
- Atributos
- Implementaciones
Comentarios
Un canal que se puede multiplexar a través de .Selector
Para poder usarse con un selector, primero se debe registrar una instancia de esta clase a través del #register(Selector,int,Object) register
método . Este método devuelve un nuevo SelectionKey
objeto que representa el registro del canal con el selector.
Una vez registrado con un selector, un canal permanece registrado hasta que se anula el registro. Esto implica desasignar los recursos asignados al canal por el selector.
No se puede anular el registro de un canal directamente; en su lugar, se debe cancelar la clave que representa su registro. Cancelar una clave solicita que el canal se anule el registro durante la siguiente operación de selección del selector. Una clave se puede cancelar explícitamente invocando su SelectionKey#cancel() cancel
método. Todas las claves de un canal se cancelan implícitamente cuando se cierra el canal, ya sea invocando su Channel#close close
método o interrumpiendo un subproceso bloqueado en una operación de E/S en el canal.
Si el propio selector está cerrado, se anulará el registro del canal y se invalidará la clave que representa su registro, sin más retraso.
Un canal se puede registrar como máximo una vez con cualquier selector determinado.
Si un canal está registrado con uno o varios selectores puede determinarse invocando el #isRegistered isRegistered
método .
Los canales seleccionables son seguros para su uso por varios subprocesos simultáneos.
"bm"><h2>Modo de bloqueo</h2>
Un canal seleccionable está en modo de bloqueo o en modo de no bloqueo . En el modo de bloqueo, cada operación de E/S invocada en el canal se bloqueará hasta que se complete. En el modo de no bloqueo, una operación de E/S nunca se bloqueará y puede transferir menos bytes de los solicitados o, posiblemente, no hay bytes en absoluto. El modo de bloqueo de un canal seleccionable puede determinarse invocando su #isBlocking isBlocking
método.
Los canales seleccionables recién creados siempre están en modo de bloqueo. El modo de no bloqueo es más útil junto con la multiplexación basada en selectores. Un canal debe colocarse en modo de no bloqueo antes de registrarse con un selector y es posible que no se devuelva al modo de bloqueo hasta que se haya anulado el registro.
Agregado en la versión 1.4.
Documentación de Java para java.nio.channels.SelectableChannel
.
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
SelectableChannel() |
Inicializa una nueva instancia de esta clase. |
SelectableChannel(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) |
IsBlocking |
Indica si este canal está en modo de bloqueo. |
IsOpen |
Devuelve true si este canal está abierto. (Heredado de AbstractInterruptibleChannel) |
IsRegistered |
Indica si este canal está registrado con al menos un selector. |
JniIdentityHashCode |
Un canal que se puede multiplexar a través de . |
JniPeerMembers |
Un canal que se puede multiplexar a través de . |
PeerReference |
Un canal que se puede multiplexar a través de . |
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. (Heredado de AbstractInterruptibleChannel) |
BlockingLock() |
Recupera el objeto en el que se sincronizan los |
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
Close() |
Cierra este canal. (Heredado de AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
Ajusta el modo de bloqueo de este canal. |
Dispose() |
Un canal que se puede multiplexar a través de . |
Dispose(Boolean) |
Un canal que se puede multiplexar a través de . |
End(Boolean) |
Marca el final de una operación de E/S que podría bloquearse indefinidamente. (Heredado de AbstractInterruptibleChannel) |
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. (Heredado de AbstractInterruptibleChannel) |
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) |
KeyFor(Selector) |
Recupera la clave que representa el registro del canal con el selector especificado. |
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) |
Provider() |
Devuelve el proveedor que creó este canal. |
Register(Selector, Operations, Object) |
Registra este canal con el selector especificado y devuelve una clave de selección. |
Register(Selector, Operations) |
Registra este canal con el selector especificado y devuelve una clave de selección. |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
ToArray<T>() |
Un canal que se puede multiplexar a través de . |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
Un canal que se puede multiplexar a través de . |
ValidOps() |
Devuelve un conjunto de operaciones que identifica las operaciones admitidas de este canal. |
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
IJavaPeerable.Disposed() |
Un canal que se puede multiplexar a través de . |
IJavaPeerable.DisposeUnlessReferenced() |
Un canal que se puede multiplexar a través de . |
IJavaPeerable.Finalized() |
Un canal que se puede multiplexar a través de . |
IJavaPeerable.JniManagedPeerState |
Un canal que se puede multiplexar a través de . |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Un canal que se puede multiplexar a través de . |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Un canal que se puede multiplexar a través de . |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Un canal que se puede multiplexar a través de . |
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) |
Un canal que se puede multiplexar a través de . |
GetJniTypeName(IJavaPeerable) |
Un canal que se puede multiplexar a través de . |