Condividi tramite


SelectableChannel Classe

Definizione

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

(Ereditato da Object)
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 Selector.

(Ereditato da Object)
JniPeerMembers

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

PeerReference

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
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 #configureBlocking configureBlocking metodi e #register register vengono sincronizzati.

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

(Ereditato da Object)
Dispose(Boolean)

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
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 Selector.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
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 Selector.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
IJavaPeerable.Finalized()

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

(Ereditato da Object)

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

GetJniTypeName(IJavaPeerable)

Canale che può essere sottoposto a multiplexing tramite un oggetto Selector.

Si applica a