AbstractInterruptibleChannel Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |