Partager via


SelectableChannel Classe

Définition

Canal qui peut être multiplexé via un Selector.

[Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)]
public abstract class SelectableChannel : Java.Nio.Channels.Spi.AbstractInterruptibleChannel, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)>]
type SelectableChannel = class
    inherit AbstractInterruptibleChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Héritage
Dérivé
Attributs
Implémente

Remarques

Canal qui peut être multiplexé via un Selector.

Pour pouvoir être utilisé avec un sélecteur, une instance de cette classe doit d’abord être inscrite via la #register(Selector,int,Object) register méthode. Cette méthode retourne un nouvel SelectionKey objet qui représente l’inscription du canal avec le sélecteur.

Une fois inscrit auprès d’un sélecteur, un canal reste inscrit jusqu’à ce qu’il soit désinscrit. Cela implique d’allouer les ressources allouées au canal par le sélecteur.

Un canal ne peut pas être désinscrit directement ; Au lieu de cela, la clé représentant son inscription doit être annulée. Annulation d’une demande de clé indiquant que le canal doit être désinscrit pendant l’opération de sélection suivante du sélecteur. Une clé peut être annulée explicitement en appelant sa SelectionKey#cancel() cancel méthode. Toutes les clés d’un canal sont annulées implicitement lorsque le canal est fermé, qu’il s’agisse d’appeler sa Channel#close close méthode ou d’interrompre un thread bloqué dans une opération d’E/S sur le canal.

Si le sélecteur lui-même est fermé, le canal sera désinscrit et la clé représentant son inscription sera invalidée, sans délai supplémentaire.

Un canal peut être inscrit au plus une fois auprès d’un sélecteur particulier.

Si un canal est inscrit ou non auprès d’un ou plusieurs sélecteurs peut être déterminé en appelant la #isRegistered isRegistered méthode.

Les canaux sélectionnables sont sécurisés pour être utilisés par plusieurs threads simultanés.

« bm"><h2>Mode de blocage</h2>

Un canal sélectionnable est en mode bloquant ou en mode non bloquant . En mode de blocage, chaque opération d’E/S appelée sur le canal se bloque jusqu’à ce qu’elle se termine. En mode non bloquant, une opération d’E/S ne bloque jamais et peut transférer moins d’octets que demandés ou éventuellement pas d’octets du tout. Le mode de blocage d’un canal sélectionnable peut être déterminé en appelant sa #isBlocking isBlocking méthode.

Les canaux sélectionnables nouvellement créés sont toujours en mode bloquant. Le mode non bloquant est très utile conjointement avec le multiplexage basé sur un sélecteur. Un canal doit être placé en mode non bloquant avant d’être inscrit auprès d’un sélecteur et ne peut pas être retourné au mode de blocage tant qu’il n’a pas été désinscrit.

Ajouté dans la version 1.4.

Documentation Java pour java.nio.channels.SelectableChannel.

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

SelectableChannel()

Initialise une nouvelle instance de cette classe.

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

Indique si ce canal est en mode bloquant.

IsOpen

Retourne true si ce canal est ouvert.

(Hérité de AbstractInterruptibleChannel)
IsRegistered

Indique si ce canal est inscrit avec au moins un sélecteur.

JniIdentityHashCode

Canal qui peut être multiplexé via un Selector.

(Hérité de Object)
JniPeerMembers

Canal qui peut être multiplexé via un Selector.

PeerReference

Canal qui peut être multiplexé via un Selector.

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

(Hérité de AbstractInterruptibleChannel)
BlockingLock()

Récupère l’objet sur lequel les méthodes et #register register les #configureBlocking configureBlocking méthodes sont synchronisées.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Close()

Ferme ce canal.

(Hérité de AbstractInterruptibleChannel)
ConfigureBlocking(Boolean)

Ajuste le mode de blocage de ce canal.

Dispose()

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

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

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

(Hérité de AbstractInterruptibleChannel)
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.

(Hérité de AbstractInterruptibleChannel)
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)
KeyFor(Selector)

Récupère la clé représentant l’inscription du canal avec le sélecteur donné.

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 canal.

Register(Selector, Operations)

Inscrit ce canal auprès du sélecteur donné, en retournant une clé de sélection.

Register(Selector, Operations, Object)

Inscrit ce canal auprès du sélecteur donné, en retournant une clé de sélection.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

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

Canal qui peut être multiplexé via un Selector.

(Hérité de Object)
ToString()

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

(Hérité de Object)
UnregisterFromRuntime()

Canal qui peut être multiplexé via un Selector.

(Hérité de Object)
ValidOps()

Retourne un jeu d’opérations identifiant les opérations prises en charge par ce canal.

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)

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

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

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

Canal qui peut être multiplexé via un Selector.

GetJniTypeName(IJavaPeerable)

Canal qui peut être multiplexé via un Selector.

S’applique à