Partager via


AsynchronousChannelGroup Classe

Définition

Regroupement de canaux asynchrones à des fins de partage de ressources.

[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
Héritage
AsynchronousChannelGroup
Attributs

Remarques

Regroupement de canaux asynchrones à des fins de partage de ressources.

Un groupe de canaux asynchrone encapsule les mécanismes nécessaires pour gérer l’achèvement des opérations d’E/S initiées par AsynchronousChannel asynchronous channels celles liées au groupe. Un groupe a un pool de threads associé auquel les tâches sont envoyées pour gérer les événements d’E/S et les distribuer à CompletionHandler completion-handlers ce qui consomment le résultat des opérations asynchrones effectuées sur les canaux du groupe. Outre la gestion des événements d’E/S, les threads mis en pool peuvent également exécuter d’autres tâches nécessaires pour prendre en charge l’exécution d’opérations d’E/S asynchrones.

Un groupe de canaux asynchrones est créé en appelant le ou #withCachedThreadPool withCachedThreadPool les #withFixedThreadPool withFixedThreadPool méthodes définis ici. Les canaux sont liés à un groupe en spécifiant le groupe lors de la construction du canal. Le pool de threads associé est <>détenu</em> par le groupe ; l’arrêt du groupe entraîne l’arrêt du pool de threads associé.

En plus des groupes créés explicitement, la machine virtuelle Java gère un groupe</em> par défaut à l’échelle <>du système construit automatiquement. Les canaux asynchrones qui ne spécifient pas de groupe au moment de la construction sont liés au groupe par défaut. Le groupe par défaut a un pool de threads associé qui crée de nouveaux threads en fonction des besoins. Le groupe par défaut peut être configuré par le biais des propriétés système définies dans le tableau ci-dessous. Où le java.util.concurrent.ThreadFactory ThreadFactory groupe par défaut n’est pas configuré, les threads mis en pool du groupe par défaut sont Thread#isDaemon daemon des threads.

<table class="striped">caption style="display :none :">System properties</caption><thead><tr><th scope="col">System property</th th<>scope="col">Description</th<>/tr/thead><tbody><tr<<>> th scope="row"<java.nio.channels.DefaultThreadPool.threadFactory>/th<>td> La valeur de cette propriété est considérée comme le nom complet d’une classe concrètejava.util.concurrent.ThreadFactory ThreadFactory.< La classe est chargée à l’aide du chargeur de classe système et instanciée. La méthode de la java.util.concurrent.ThreadFactory#newThread newThread fabrique est appelée pour créer chaque thread pour le pool de threads du groupe par défaut. Si le processus de chargement et d’instanciation de la valeur de la propriété échoue, une erreur non spécifiée est levée pendant la construction du groupe par défaut. </td>/tr tr>><<th scope="row"<java.nio.channels.DefaultThreadPool.initialSize>/th<>td> La valeur du initialSize paramètre pour le groupe par défaut (voir ).#withCachedThreadPool withCachedThreadPool< La valeur de la propriété est considérée comme la String représentation d’un Integer paramètre de taille initiale. Si la valeur ne peut pas être analysée en tant qu’erreur Integer non spécifiée lors de la construction du groupe par défaut. </td></tr/tbody><></table>

« threading »><h2>Threading</h2>

Le gestionnaire d’achèvement d’une opération d’E/S lancée sur un canal lié à un groupe est garanti pour être appelé par l’un des threads mis en pool dans le groupe. Cela garantit que le gestionnaire d’achèvement est exécuté par un thread avec l’identité< em>/em> attendue<.

Lorsqu’une opération d’E/S se termine immédiatement et que le thread de lancement est l’un des threads mis en pool dans le groupe, le gestionnaire d’achèvement peut être appelé directement par le thread de lancement. Pour éviter le dépassement de capacité de pile, une implémentation peut imposer une limite quant au nombre d’activations sur la pile de threads. Certaines opérations d’E/S peuvent interdire l’appel du gestionnaire d’achèvement directement par le thread de lancement (voir AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept).

« arrêt"><h2>arrêt et arrêt</h2>

La #shutdown() shutdown méthode est utilisée pour lancer un <>arrêt</em> ordonné d’un groupe. Un arrêt ordonné marque le groupe comme étant arrêté ; d’autres tentatives de construction d’un canal qui lie au groupe lèveront ShutdownChannelGroupException. Indique si un groupe est arrêté peut être testé à l’aide de la #isShutdown() isShutdown méthode. Une fois l’arrêt terminé, le groupe <em>se< termine/em> lorsque tous les canaux asynchrones liés au groupe sont fermés, tous les gestionnaires d’achèvement en cours d’exécution ont été exécutés jusqu’à la fin et les ressources utilisées par le groupe sont libérées. Aucune tentative n’est effectuée pour arrêter ou interrompre les threads qui exécutent des gestionnaires d’achèvement. La #isTerminated() isTerminated méthode est utilisée pour tester si le groupe a terminé et que la #awaitTermination awaitTermination méthode peut être utilisée pour bloquer jusqu’à ce que le groupe se termine.

La #shutdownNow() shutdownNow méthode peut être utilisée pour lancer un <>arrêt< em forcé/em> du groupe. Outre les actions effectuées par un arrêt ordonné, la shutdownNow méthode ferme tous les canaux ouverts du groupe comme si elle appelait la AsynchronousChannel#close close méthode.

Ajouté dans la version 1.7.

Documentation Java pour java.nio.channels.AsynchronousChannelGroup.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

AsynchronousChannelGroup(AsynchronousChannelProvider)

Initialisez une nouvelle instance de cette classe.

AsynchronousChannelGroup(IntPtr, JniHandleOwnership)

Regroupement de canaux asynchrones à des fins de partage de ressources.

Propriétés

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsShutdown

Regroupement de canaux asynchrones à des fins de partage de ressources.

IsTerminated

Regroupement de canaux asynchrones à des fins de partage de ressources.

JniIdentityHashCode

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
JniPeerMembers

Regroupement de canaux asynchrones à des fins de partage de ressources.

PeerReference

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
ThresholdClass

Regroupement de canaux asynchrones à des fins de partage de ressources.

ThresholdType

Regroupement de canaux asynchrones à des fins de partage de ressources.

Méthodes

AwaitTermination(Int64, TimeUnit)

Attend l’arrêt du groupe.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Dispose()

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
Dispose(Boolean)

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Provider()

Retourne le fournisseur qui a créé ce groupe de canaux.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
Shutdown()

Lance un arrêt ordonné du groupe.

ShutdownNow()

Arrête le groupe et ferme tous les canaux ouverts dans le groupe.

ToArray<T>()

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou> <em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
WithCachedThreadPool(IExecutorService, Int32)

Crée un groupe de canaux asynchrones avec un pool de threads donné qui crée des threads selon les besoins.

WithFixedThreadPool(Int32, IThreadFactory)

Crée un groupe de canaux asynchrones avec un pool de threads fixe.

WithThreadPool(IExecutorService)

Crée un groupe de canaux asynchrones avec un pool de threads donné.

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
IJavaPeerable.Finalized()

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Regroupement de canaux asynchrones à des fins de partage de ressources.

(Hérité de Object)

Méthodes d’extension

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Regroupement de canaux asynchrones à des fins de partage de ressources.

GetJniTypeName(IJavaPeerable)

Regroupement de canaux asynchrones à des fins de partage de ressources.

S’applique à