AbstractInterruptibleChannel 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.
Classe di implementazione di base per i canali interrompibili.
[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
- Ereditarietà
- Derivato
- Attributi
- Implementazioni
Commenti
Classe di implementazione di base per i canali interrompibili.
Questa classe incapsula i macchinari di basso livello necessari per implementare la chiusura asincrona e l'interruzione dei canali. Una classe di canale concreta deve richiamare i #begin begin metodi e #end end prima e dopo, rispettivamente, richiamando un'operazione di I/O che potrebbe bloccarsi a tempo indefinito. Per garantire che il #end end metodo venga sempre richiamato, questi metodi devono essere utilizzati all'interno di un try ... finally blocco:
<blockquote>
boolean completed = false;
try {
begin();
completed = ...; // Perform blocking I/O operation
return ...; // Return result
} finally {
end(completed);
}
</blockquote>
L'argomento completed al #end end metodo indica se l'operazione di I/O è stata effettivamente completata, ovvero se ha avuto alcun effetto che sarebbe visibile al invoker. Nel caso di un'operazione che legge i byte, ad esempio, questo argomento deve essere true se e solo se alcuni byte sono stati effettivamente trasferiti nel buffer di destinazione del chiamante.
Una classe di canale concreto deve anche implementare il #implCloseChannel implCloseChannel metodo in modo che, se viene richiamato mentre un altro thread è bloccato in un'operazione di I/O nativa sul canale, tale operazione restituirà immediatamente, generando un'eccezione o restituendo normalmente. Se un thread viene interrotto o il canale su cui è bloccato viene chiuso in modo asincrono, il metodo del #end end canale genererà l'eccezione appropriata.
Questa classe esegue la sincronizzazione necessaria per implementare la java.nio.channels.Channel specifica. Le implementazioni del #implCloseChannel implCloseChannel metodo non devono essere sincronizzate con altri thread che potrebbero tentare di chiudere il canale.
Aggiunta nella versione 1.4.
per java.nio.channels.spi.AbstractInterruptibleChannel.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| AbstractInterruptibleChannel() |
Inizializza una nuova istanza di questa classe. |
| AbstractInterruptibleChannel(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsOpen |
Restituisce true se il canale è aperto. |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| JniPeerMembers |
Ottiene i metadati JNI usati per richiamare i membri di questo peer Java. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (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
| Nome | Descrizione |
|---|---|
| Begin() |
Contrassegna l'inizio di un'operazione di I/O che potrebbe bloccarsi a tempo indeterminato. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Close() |
Chiude questo canale. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| End(Boolean) |
Contrassegna la fine di un'operazione di I/O che potrebbe bloccarsi a tempo indeterminato. |
| Equals(Object) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| ImplCloseChannel() |
Chiude questo canale. |
| JavaFinalize() |
Obsoleti.
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| 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) |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| 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
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| IJavaPeerable.Finalized() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Classe di implementazione di base per i canali interrompibili. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Classe di implementazione di base per i canali interrompibili. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |