Condividi tramite


AsynchronousChannelGroup Classe

Definizione

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

[Android.Runtime.Register("java/nio/channels/AsynchronousChannelGroup", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousChannelGroup : Java.Lang.Object
[<Android.Runtime.Register("java/nio/channels/AsynchronousChannelGroup", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousChannelGroup = class
    inherit Object
Ereditarietà
AsynchronousChannelGroup
Attributi

Commenti

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

Un gruppo di canali asincrono incapsula i meccanismi necessari per gestire il completamento delle operazioni di I/O avviate da AsynchronousChannel asynchronous channels tale gruppo. Un gruppo ha un pool di thread associato a cui vengono inviate attività per gestire gli eventi di I/O e l'invio a CompletionHandler completion-handlers che utilizzano il risultato delle operazioni asincrone eseguite sui canali nel gruppo. Oltre alla gestione degli eventi di I/O, i thread in pool possono eseguire anche altre attività necessarie per supportare l'esecuzione di operazioni di I/O asincrone.

Un gruppo di canali asincrono viene creato richiamando i #withFixedThreadPool withFixedThreadPool metodi o #withCachedThreadPool withCachedThreadPool definiti qui. I canali sono associati a un gruppo specificando il gruppo quando si costruisce il canale. Il pool di thread associato è <>di proprietà</em> dal gruppo; la terminazione del gruppo comporta l'arresto del pool di thread associato.

Oltre ai gruppi creati in modo esplicito, la macchina virtuale Java gestisce un gruppo< predefinito/em>> a livello <di sistema costruito automaticamente. I canali asincroni che non specificano un gruppo in fase di costruzione sono associati al gruppo predefinito. Il gruppo predefinito ha un pool di thread associato che crea nuovi thread in base alle esigenze. Il gruppo predefinito può essere configurato tramite le proprietà di sistema definite nella tabella seguente. Se il java.util.concurrent.ThreadFactory ThreadFactory valore per il gruppo predefinito non è configurato, i thread in pool del gruppo predefinito sono Thread#isDaemon daemon thread.

<table class="striped">didascalia style="display:none:">System properties</didascalia>< thead<>tr<>th scope="col>"System property</<>th th scope="col>"description</><th/tr<>/thead tbody><tr<>th scope="rowjava.nio.channels.DefaultThreadPool.threadFactory<>"/th><td><>< Il valore di questa proprietà viene assunto come nome completo di una classe concretajava.util.concurrent.ThreadFactory ThreadFactory. La classe viene caricata usando il caricatore della classe di sistema e creata un'istanza. Il metodo della java.util.concurrent.ThreadFactory#newThread newThread factory viene richiamato per creare ogni thread per il pool di thread del gruppo predefinito. Se il processo per caricare e creare un'istanza del valore della proprietà ha esito negativo, viene generato un errore non specificato durante la costruzione del gruppo predefinito. </td/tr><tr><th scope="row"<java.nio.channels.DefaultThreadPool.initialSize>/th<>td<>> Il valore del parametro per il initialSize gruppo predefinito (vedere ).#withCachedThreadPool withCachedThreadPool Il valore della proprietà viene acquisito come String rappresentazione di un Integer parametro di dimensione iniziale. Se il valore non può essere analizzato come oggetto Integer causa un errore non specificato durante la costruzione del gruppo predefinito. </td></tr></tbody></table>

"threading"><h2>Threading</h2>

Il gestore di completamento per un'operazione di I/O avviata in un canale associato a un gruppo è garantito che venga richiamato da uno dei thread in pool nel gruppo. Ciò garantisce che il gestore di completamento venga eseguito da un thread con l'identità< em/em>> prevista<.

Quando un'operazione di I/O viene completata immediatamente e il thread di avvio è uno dei thread in pool nel gruppo, il gestore di completamento può essere richiamato direttamente dal thread di avvio. Per evitare il overflow dello stack, un'implementazione può imporre un limite al numero di attivazioni nello stack di thread. Alcune operazioni di I/O possono impedire di richiamare il gestore di completamento direttamente dal thread di avvio (vedere AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept).

"shutdown"><h2 Shutdown and Termination</h2>>

Il #shutdown() shutdown metodo viene usato per avviare un <arresto</em ordinato/em>> di un gruppo. Un arresto ordinato contrassegna il gruppo come arresto; altri tentativi di costruire un canale che associa al gruppo genererà ShutdownChannelGroupException. Se un gruppo è arrestato può essere testato usando il #isShutdown() isShutdown metodo . Dopo l'arresto, il gruppo <em>termina/em> quando vengono chiusi tutti i canali asincroni< associati al gruppo, tutti i gestori di completamento in esecuzione attiva hanno eseguito al completamento e le risorse usate dal gruppo vengono rilasciate. Non viene eseguito alcun tentativo di arrestare o interrompere i thread che eseguono gestori di completamento. Il #isTerminated() isTerminated metodo viene usato per testare se il gruppo è terminato e il #awaitTermination awaitTermination metodo può essere usato per bloccare fino alla chiusura del gruppo.

Il #shutdownNow() shutdownNow metodo può essere usato per avviare un <arresto< forzato/em>> del gruppo. Oltre alle azioni eseguite da un arresto ordinato, il shutdownNow metodo chiude tutti i canali aperti nel gruppo come se richiamasse il AsynchronousChannel#close close metodo.

Aggiunta nella versione 1.7.

Documentazione Java per java.nio.channels.AsynchronousChannelGroup.

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

AsynchronousChannelGroup(AsynchronousChannelProvider)

Inizializzare una nuova istanza di questa classe.

AsynchronousChannelGroup(IntPtr, JniHandleOwnership)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
IsShutdown

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

IsTerminated

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

JniIdentityHashCode

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
JniPeerMembers

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

PeerReference

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
ThresholdClass

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

ThresholdType

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

Metodi

AwaitTermination(Int64, TimeUnit)

Attende la terminazione del gruppo.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Dispose()

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
Dispose(Boolean)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

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

Restituisce il provider che ha creato questo gruppo di canali.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Shutdown()

Avvia un arresto ordinato del gruppo.

ShutdownNow()

Arresta il gruppo e chiude tutti i canali aperti nel gruppo.

ToArray<T>()

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(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)
WithCachedThreadPool(IExecutorService, Int32)

Crea un gruppo di canali asincrono con un determinato pool di thread che crea nuovi thread in base alle esigenze.

WithFixedThreadPool(Int32, IThreadFactory)

Crea un gruppo di canali asincrono con un pool di thread fisso.

WithThreadPool(IExecutorService)

Crea un gruppo di canali asincrono con un determinato pool di thread.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
IJavaPeerable.Finalized()

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

GetJniTypeName(IJavaPeerable)

Raggruppamento di canali asincroni allo scopo della condivisione delle risorse.

Si applica a