Condividi tramite


AbstractInterruptibleChannel Classe

Definizione

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

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

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

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.

Si applica a