Compartir a través de


AsynchronousChannelGroup Clase

Definición

Agrupación de canales asincrónicos con el fin de compartir recursos.

[Android.Runtime.Register("java/nio/channels/AsynchronousChannelGroup", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousChannelGroup : Java.Lang.Object
[<Android.Runtime.Register("java/nio/channels/AsynchronousChannelGroup", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousChannelGroup = class
    inherit Object
Herencia
AsynchronousChannelGroup
Atributos

Comentarios

Agrupación de canales asincrónicos con el fin de compartir recursos.

Un grupo de canales asincrónico encapsula la mecánica necesaria para controlar la finalización de las operaciones de E/S iniciadas por AsynchronousChannel asynchronous channels que están enlazadas al grupo. Un grupo tiene un grupo de subprocesos asociado al que se envían tareas para controlar eventos de E/S y enviar a CompletionHandler completion-handlers que consumen el resultado de las operaciones asincrónicas realizadas en canales del grupo. Además de controlar eventos de E/S, los subprocesos agrupados también pueden ejecutar otras tareas necesarias para admitir la ejecución de operaciones de E/S asincrónicas.

Se crea un grupo de canales asincrónico invocando los #withFixedThreadPool withFixedThreadPool métodos o #withCachedThreadPool withCachedThreadPool definidos aquí. Los canales se enlazan a un grupo especificando el grupo al construir el canal. El grupo de subprocesos asociado es <>propiedad</em> del grupo; la terminación del grupo da como resultado el apagado del grupo de subprocesos asociado.

Además de los grupos creados explícitamente, la máquina virtual Java mantiene automáticamente un grupo< o em> predeterminado de todo <>el sistema que se construye automáticamente. Los canales asincrónicos que no especifican un grupo en tiempo de construcción están enlazados al grupo predeterminado. El grupo predeterminado tiene un grupo de subprocesos asociado que crea nuevos subprocesos según sea necesario. El grupo predeterminado se puede configurar mediante las propiedades del sistema definidas en la tabla siguiente. Cuando el java.util.concurrent.ThreadFactory ThreadFactory para el grupo predeterminado no está configurado, los subprocesos agrupados del grupo predeterminado son Thread#isDaemon daemon subprocesos.

<table class="striped">caption style="display:>"System properties</caption<>thead><tr<>th scope="col">System property</th><scope="col"><description/th<>/tr<>/thead<>tbody><tr><th scope="row"><java.nio.channels.DefaultThreadPool.threadFactory/th<>td> El valor de esta propiedad se toma para ser el nombre completo de una clase concretajava.util.concurrent.ThreadFactory ThreadFactory.< La clase se carga mediante el cargador de clases del sistema y se crea una instancia. El método del java.util.concurrent.ThreadFactory#newThread newThread generador se invoca para crear cada subproceso para el grupo de subprocesos del grupo de subprocesos predeterminado. Si se produce un error en el proceso para cargar y crear instancias del valor de la propiedad, se produce un error no especificado durante la construcción del grupo predeterminado. </td></tr tr>><<th scope="row"java.nio.channels.DefaultThreadPool.initialSize<>/th><td> El valor del initialSize parámetro para el grupo predeterminado (vea ).#withCachedThreadPool withCachedThreadPool El valor de la propiedad se toma para ser la String representación de un Integer que es el parámetro de tamaño inicial. Si el valor no se puede analizar como , Integer provoca que se produzca un error no especificado durante la construcción del grupo predeterminado. </td></tr></tbody></table>

"threading"><h2>Threading</h2>

Se garantiza que el controlador de finalización de una operación de E/S iniciada en un canal enlazado a un grupo sea invocado por uno de los subprocesos agrupados del grupo. Esto garantiza que un subproceso ejecute el controlador de finalización con la identidad< em>/em> esperada<.

Cuando una operación de E/S se completa inmediatamente y el subproceso de inicio es uno de los subprocesos agrupados del grupo, el controlador de finalización puede invocarse directamente mediante el subproceso iniciador. Para evitar el desbordamiento de la pila, una implementación puede imponer un límite en cuanto al número de activaciones en la pila de subprocesos. Algunas operaciones de E/S pueden prohibir invocar directamente el controlador de finalización mediante el subproceso iniciador (consulte AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept).

"shutdown"><h2>Shutdown and Termination</h2>

El #shutdown() shutdown método se usa para iniciar un <>apagado< ordenado/em> de un grupo. Un apagado ordenado marca el grupo como apagado; más intentos de construir un canal que se enlaza al grupo producirá ShutdownChannelGroupException. Si se puede probar o no el apagado de un grupo mediante el #isShutdown() isShutdown método . Una vez apagado, el grupo <em>finaliza/em> cuando se cierran todos los canales asincrónicos< enlazados al grupo, todos los controladores de finalización que se ejecutan activamente se ejecutan hasta la finalización y se liberan los recursos usados por el grupo. No se intenta detener ni interrumpir los subprocesos que ejecutan controladores de finalización. El #isTerminated() isTerminated método se usa para probar si el grupo ha finalizado y el #awaitTermination awaitTermination método se puede usar para bloquear hasta que el grupo haya terminado.

El #shutdownNow() shutdownNow método se puede usar para iniciar un <>apagado< forzado/em> del grupo. Además de las acciones realizadas por un apagado ordenado, el shutdownNow método cierra todos los canales abiertos del grupo como si invocara el AsynchronousChannel#close close método .

Agregado en la versión 1.7.

Documentación de Java para java.nio.channels.AsynchronousChannelGroup.

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

AsynchronousChannelGroup(AsynchronousChannelProvider)

Inicialice una nueva instancia de esta clase.

AsynchronousChannelGroup(IntPtr, JniHandleOwnership)

Agrupación de canales asincrónicos con el fin de compartir recursos.

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

Agrupación de canales asincrónicos con el fin de compartir recursos.

IsTerminated

Agrupación de canales asincrónicos con el fin de compartir recursos.

JniIdentityHashCode

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
JniPeerMembers

Agrupación de canales asincrónicos con el fin de compartir recursos.

PeerReference

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
ThresholdClass

Agrupación de canales asincrónicos con el fin de compartir recursos.

ThresholdType

Agrupación de canales asincrónicos con el fin de compartir recursos.

Métodos

AwaitTermination(Int64, TimeUnit)

Espera la finalización del grupo.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Dispose()

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
Dispose(Boolean)

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
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)
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)
Provider()

Devuelve el proveedor que creó este grupo de canales.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
Shutdown()

Inicia un apagado ordenado del grupo.

ShutdownNow()

Cierra el grupo y cierra todos los canales abiertos del grupo.

ToArray<T>()

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Agrupación de canales asincrónicos con el fin de compartir recursos.

(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)
WithCachedThreadPool(IExecutorService, Int32)

Crea un grupo de canales asincrónico con un grupo de subprocesos determinado que crea nuevos subprocesos según sea necesario.

WithFixedThreadPool(Int32, IThreadFactory)

Crea un grupo de canales asincrónico con un grupo de subprocesos fijo.

WithThreadPool(IExecutorService)

Crea un grupo de canales asincrónico con un grupo de subprocesos determinado.

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
IJavaPeerable.Finalized()

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Agrupación de canales asincrónicos con el fin de compartir recursos.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Agrupación de canales asincrónicos con el fin de compartir recursos.

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

Agrupación de canales asincrónicos con el fin de compartir recursos.

GetJniTypeName(IJavaPeerable)

Agrupación de canales asincrónicos con el fin de compartir recursos.

Se aplica a