Condividi tramite


AbstractInterruptibleChannel Classe

Definizione

Classe di implementazione di base per i canali interrotti.

[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 interrotti.

Questa classe incapsula i macchinari di basso livello necessari per implementare la chiusura asincrona e l'interruzione dei canali. Una classe di canale concreto deve richiamare i #begin begin metodi e prima e #end end dopo, rispettivamente, richiamando un'operazione di I/O che potrebbe bloccare in modo indefinito. Per assicurarsi che il #end end metodo venga sempre richiamato, questi metodi devono essere usati 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 richiamatore. 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 dell'richiamare.

Una classe di canale concreto deve anche implementare il #implCloseChannel implCloseChannel metodo in modo tale che se viene richiamato mentre un altro thread viene 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 in 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 in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

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 all'istanza di Android sottostante.

(Ereditato da Object)
IsOpen

Restituisce true se questo canale è aperto.

JniIdentityHashCode

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
JniPeerMembers

Classe di implementazione di base per i canali interrotti.

PeerReference

Classe di implementazione di base per i canali interrotti.

(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 bloccare in modo indefinito.

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

(Ereditato da Object)
Dispose(Boolean)

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
End(Boolean)

Contrassegna la fine di un'operazione di I/O che potrebbe bloccare in modo indefinito.

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 in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitoraggio dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio 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 interrotti.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo 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)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo 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 interrotti.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
IJavaPeerable.Finalized()

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Classe di implementazione di base per i canali interrotti.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Classe di implementazione di base per i canali interrotti.

GetJniTypeName(IJavaPeerable)

Classe di implementazione di base per i canali interrotti.

Si applica a