SelectableChannel Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Canale che può essere sottoposto a multiplexing tramite un oggetto 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
- Ereditarietà
- Derivato
- Attributi
- Implementazioni
Commenti
Canale che può essere sottoposto a multiplexing tramite un oggetto Selector
.
Per poter essere usato con un selettore, è prima necessario registrare un'istanza di questa classe tramite il #register(Selector,int,Object) register
metodo . Questo metodo restituisce un nuovo SelectionKey
oggetto che rappresenta la registrazione del canale con il selettore.
Dopo la registrazione con un selettore, un canale rimane registrato fino a quando non viene annullata la registrazione. Ciò comporta la deallocazione delle risorse allocate al canale dal selettore.
Non è possibile annullare la registrazione diretta di un canale; La chiave che rappresenta la registrazione deve invece essere annullata. Annullamento di una richiesta di chiave di annullamento della registrazione del canale durante l'operazione di selezione successiva del selettore. Una chiave può essere annullata in modo esplicito richiamando il relativo SelectionKey#cancel() cancel
metodo. Tutte le chiavi di un canale vengono annullate in modo implicito quando il canale viene chiuso, richiamando il Channel#close close
relativo metodo o interrompendo un thread bloccato in un'operazione di I/O sul canale.
Se il selettore stesso viene chiuso, il canale verrà annullato e la chiave che rappresenta la registrazione verrà invalidata, senza ulteriore ritardo.
Un canale può essere registrato al massimo una volta con un selettore specifico.
Indica se un canale è registrato con uno o più selettori può essere determinato richiamando il #isRegistered isRegistered
metodo .
I canali selezionabili sono sicuri per l'uso da parte di più thread simultanei.
"bm"><h2>modalità< di blocco/h2>
Un canale selezionabile è in modalità di blocco o in modalità non bloccabile . In modalità di blocco, ogni operazione di I/O richiamata sul canale bloccherà fino al completamento. In modalità non bloccante un'operazione di I/O non verrà mai bloccata e potrebbe trasferire meno byte di quanto richiesto o eventualmente nessun byte. La modalità di blocco di un canale selezionabile può essere determinata richiamando il relativo #isBlocking isBlocking
metodo.
I canali selezionabili appena creati sono sempre in modalità di blocco. La modalità non bloccante è più utile in combinazione con il multiplexing basato su selettore. Un canale deve essere inserito in modalità non bloccante prima di essere registrato con un selettore e potrebbe non essere restituito alla modalità di blocco fino a quando non viene annullata la registrazione.
Aggiunta nella versione 1.4.
Documentazione java per java.nio.channels.SelectableChannel
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
SelectableChannel() |
Inizializza una nuova istanza della classe. |
SelectableChannel(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
IsBlocking |
Indica se il canale è in modalità di blocco. |
IsOpen |
Restituisce true se il canale è aperto. (Ereditato da AbstractInterruptibleChannel) |
IsRegistered |
Indica se questo canale è registrato con almeno un selettore. |
JniIdentityHashCode |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
JniPeerMembers |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
PeerReference |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
Begin() |
Contrassegna l'inizio di un'operazione di I/O che potrebbe bloccarsi a tempo indeterminato. (Ereditato da AbstractInterruptibleChannel) |
BlockingLock() |
Recupera l'oggetto in base al quale i |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Close() |
Chiude questo canale. (Ereditato da AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
Regola la modalità di blocco del canale. |
Dispose() |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
Dispose(Boolean) |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
End(Boolean) |
Contrassegna la fine di un'operazione di I/O che potrebbe bloccarsi a tempo indeterminato. (Ereditato da AbstractInterruptibleChannel) |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
ImplCloseChannel() |
Chiude questo canale. (Ereditato da AbstractInterruptibleChannel) |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
KeyFor(Selector) |
Recupera la chiave che rappresenta la registrazione del canale con il selettore specificato. |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
Provider() |
Restituisce il provider che ha creato questo canale. |
Register(Selector, Operations, Object) |
Registra questo canale con il selettore specificato, restituendo una chiave di selezione. |
Register(Selector, Operations) |
Registra questo canale con il selettore specificato, restituendo una chiave di selezione. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ToArray<T>() |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
ValidOps() |
Restituisce un set di operazioni che identifica le operazioni supportate del canale. |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
IJavaPeerable.DisposeUnlessReferenced() |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
IJavaPeerable.Finalized() |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
IJavaPeerable.JniManagedPeerState |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Canale che può essere sottoposto a multiplexing tramite un oggetto |
GetJniTypeName(IJavaPeerable) |
Canale che può essere sottoposto a multiplexing tramite un oggetto |