Langue

AbstractInterruptibleChannel Classe

Définition

Classe d’implémentation de base pour les canaux interromptables.

[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
Héritage
AbstractInterruptibleChannel
Dérivé
Attributs
Implémente

Remarques

Classe d’implémentation de base pour les canaux interromptables.

Cette classe encapsule la machine de bas niveau requise pour implémenter la fermeture asynchrone et l’interruption des canaux. Une classe de canal concrète doit appeler les #begin begin méthodes avant et #end end après, respectivement, appeler une opération d’E/S susceptible de bloquer indéfiniment. Pour s’assurer que la #end end méthode est toujours appelée, ces méthodes doivent être utilisées dans un try  ;...   ;finally bloc :

<blockquote>

boolean completed = false;
            try {
                begin();
                completed = ...;    // Perform blocking I/O operation
                return ...;         // Return result
            } finally {
                end(completed);
            }

</blockquote>

L’argument completed de la #end end méthode indique si l’opération d’E/S s’est réellement terminée, autrement dit si elle avait un effet visible pour l’appelant. Dans le cas d’une opération qui lit des octets, par exemple, cet argument doit être true si, et seulement si, certains octets ont été réellement transférés dans la mémoire tampon cible de l’appelant.

Une classe de canal concrète doit également implémenter la #implCloseChannel implCloseChannel méthode de telle façon que si elle est appelée alors qu’un autre thread est bloqué dans une opération d’E/S native sur le canal, cette opération retourne immédiatement, soit en lève une exception, soit en retournant normalement. Si un thread est interrompu ou si le canal sur lequel il est bloqué est fermé de manière asynchrone, la méthode du #end end canal lève l’exception appropriée.

Cette classe effectue la synchronisation requise pour implémenter la java.nio.channels.Channel spécification. Les implémentations de la #implCloseChannel implCloseChannel méthode n’ont pas besoin de se synchroniser avec d’autres threads susceptibles de tenter de fermer le canal.

Ajouté dans la version 1.4.

Documentation Java pour java.nio.channels.spi.AbstractInterruptibleChannel.

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

Constructeurs

Nom Description
AbstractInterruptibleChannel()

Initialise une nouvelle instance de cette classe.

AbstractInterruptibleChannel(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsOpen

Retourne true si ce canal est ouvert.

JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour appeler les membres de cet homologue Java.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
Begin()

Marque le début d’une opération d’E/S susceptible de bloquer indéfiniment.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Close()

Ferme ce canal.

Construct(JniObjectReference, JniObjectReferenceOptions)

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

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

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
End(Boolean)

Marque la fin d’une opération d’E/S susceptible de bloquer indéfiniment.

Equals(Object)

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
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)
ImplCloseChannel()

Ferme ce canal.

JavaFinalize()
Obsolète.

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)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

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

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

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

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Classe d’implémentation de base pour les canaux interromptables.

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

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Classe d’implémentation de base pour les canaux interromptables.

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

Classe d’implémentation de base pour les canaux interromptables.

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

Classe d’implémentation de base pour les canaux interromptables.

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

Classe d’implémentation de base pour les canaux interromptables.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Supprime cette instance de la recherche d'objets Java du runtime.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Classe d’implémentation de base pour les canaux interromptables.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à