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.Interop.IJavaPeerable, 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 un 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.
Documentazione java per java.nio.channels.spi.AbstractInterruptibleChannel
.
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
AbstractInterruptibleChannel() |
Inizializza una nuova istanza della classe. |
AbstractInterruptibleChannel(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) |
IsOpen |
Restituisce true se il canale è aperto. |
JniIdentityHashCode |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
JniPeerMembers |
Classe di implementazione di base per i canali interrompibili. |
PeerReference |
Classe di implementazione di base per i canali interrompibili. (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. |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Close() |
Chiude questo canale. |
Dispose() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
Dispose(Boolean) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
End(Boolean) |
Contrassegna la fine di un'operazione di I/O che potrebbe bloccarsi a tempo indeterminato. |
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. |
JavaFinalize() |
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) |
ToArray<T>() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Classe di implementazione di base per i canali interrompibili. (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
IJavaPeerable.Disposed() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe di implementazione di base per i canali interrompibili. (Ereditato da Object) |
Metodi di estensione
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. |
GetJniTypeName(IJavaPeerable) |
Classe di implementazione di base per i canali interrompibili. |