AbstractInterruptibleChannel Classe

Définition

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

C#
[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
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 bloquer:

<blockquote>

text/java
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 le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

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

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

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

(Hérité de Object)
JniPeerMembers

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

PeerReference

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

(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

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.

Dispose()

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

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

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

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

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

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

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

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

(Hérité de Object)
ToString()

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

(Hérité de Object)
UnregisterFromRuntime()

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

(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

IJavaPeerable.Disposed()

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

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

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

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

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

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

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

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

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

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

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

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

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

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

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

GetJniTypeName(IJavaPeerable)

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

S’applique à

Produit Versions
.NET for Android .NET for Android API 33, .NET for Android API 34