Compartilhar via


AsynchronousChannelGroup Classe

Definição

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

[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
Herança
AsynchronousChannelGroup
Atributos

Comentários

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

Um grupo de canais assíncronos encapsula a mecânica necessária para lidar com a conclusão de operações de E/S iniciadas por AsynchronousChannel asynchronous channels que estão vinculadas ao grupo. Um grupo tem um pool de threads associado ao qual as tarefas são enviadas para manipular eventos de E/S e despachar para CompletionHandler completion-handlers que consumam o resultado de operações assíncronas executadas em canais no grupo. Além de manipular eventos de E/S, os threads em pool também podem executar outras tarefas necessárias para oferecer suporte à execução de operações de E/S assíncronas.

Um grupo de canais assíncronos é criado invocando os #withFixedThreadPool withFixedThreadPool métodos ou #withCachedThreadPool withCachedThreadPool definidos aqui. Os canais são vinculados a um grupo especificando o grupo ao construir o canal. O pool de threads associado é <de propriedade<> do grupo,> o término do grupo resulta no desligamento do pool de threads associado.

Além dos grupos criados explicitamente, a máquina virtual Java mantém um grupo</em> padrão em>todo <o sistema que é construído automaticamente. Os canais assíncronos que não especificam um grupo em tempo de construção são vinculados ao grupo padrão. O grupo padrão tem um pool de threads associado que cria novos threads conforme necessário. O grupo padrão pode ser configurado por meio das propriedades do sistema definidas na tabela abaixo. Onde o java.util.concurrent.ThreadFactory ThreadFactory para o grupo padrão não está configurado, os threads em pool do grupo padrão são Thread#isDaemon daemon threads.

<table class="striped">caption style="display:none:">System properties</caption<>thead><tr<>th scope="col">System property</th<>th scope="col">Description</th<>/tr></thead tbody<>><tr><th scope="row"><java.nio.channels.DefaultThreadPool.threadFactory/th<>td> O valor dessa propriedade é considerado o nome totalmente qualificado de uma classe concretajava.util.concurrent.ThreadFactory ThreadFactory.< A classe é carregada usando o carregador de classes do sistema e instanciada. O método da java.util.concurrent.ThreadFactory#newThread newThread fábrica é chamado para criar cada thread para o pool de threads do grupo padrão. Se o processo para carregar e instanciar o valor da propriedade falhar, um erro não especificado será lançado durante a construção do grupo padrão. </td></tr><tr><th scope="row"java.nio.channels.DefaultThreadPool.initialSize<>/th><td> O valor do initialSize parâmetro para o grupo padrão (consulte ).#withCachedThreadPool withCachedThreadPool O valor da propriedade é considerado a String representação de um Integer que é o parâmetro de tamanho inicial. Se o valor não puder ser analisado como um Integer , ele fará com que um erro não especificado seja lançado durante a construção do grupo padrão. </td></tr></tbody></tabela>

"threading"><h2>Rosqueamento</h2>

O manipulador de conclusão para uma operação de E/S iniciada em um canal vinculado a um grupo tem garantia de ser chamado por um dos threads em pool no grupo. Isso garante que o manipulador de conclusão seja executado por um thread com a identidade/em> em esperada.<><

Quando uma operação de E/S for concluída imediatamente e o thread inicial for um dos threads agrupados no grupo, o manipulador de conclusão poderá ser chamado diretamente pelo thread inicial. Para evitar estouro de pilha, uma implementação pode impor um limite quanto ao número de ativações na pilha de threads. Algumas operações de E/S podem proibir a invocação do manipulador de conclusão diretamente pelo thread inicial (consulte AsynchronousServerSocketChannel#accept(Object,CompletionHandler) accept).

"desligamento"><h2>Desligamento e rescisão</h2>

O #shutdown() shutdown método é usado para iniciar um <desligamento</em> ordenado de>um grupo. Um desligamento ordenado marca o grupo como desligamento; Outras tentativas de construir um canal que se liga ao grupo lançarão ShutdownChannelGroupException. Se um grupo é desligado ou não pode ser testado usando o #isShutdown() isShutdown método. Após o desligamento, o grupo <em>termina</em> quando todos os canais assíncronos vinculados ao grupo são fechados, todos os manipuladores de conclusão em execução ativa são executados até a conclusão e os recursos usados pelo grupo são liberados. Nenhuma tentativa é feita para parar ou interromper threads que estão executando manipuladores de conclusão. O #isTerminated() isTerminated método é usado para testar se o grupo foi encerrado e o #awaitTermination awaitTermination método pode ser usado para bloquear até que o grupo tenha terminado.

O #shutdownNow() shutdownNow método pode ser usado para iniciar um <desligamento< forçado>/em> do grupo. Além das ações executadas por um desligamento ordenado, o shutdownNow método fecha todos os canais abertos no grupo como se invocasse o AsynchronousChannel#close close método.

Adicionado em 1.7.

Documentação Java para java.nio.channels.AsynchronousChannelGroup.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

AsynchronousChannelGroup(AsynchronousChannelProvider)

Inicialize uma nova instância dessa classe.

AsynchronousChannelGroup(IntPtr, JniHandleOwnership)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
IsShutdown

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

IsTerminated

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

JniIdentityHashCode

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
JniPeerMembers

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

PeerReference

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
ThresholdClass

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

ThresholdType

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

Métodos

AwaitTermination(Int64, TimeUnit)

Aguarda encerramento do grupo.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Dispose()

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
Dispose(Boolean)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Provider()

Retorna o provedor que criou esse grupo de canais.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
Shutdown()

Inicia um desligamento ordenado do grupo.

ShutdownNow()

Desliga o grupo e fecha todos os canais abertos no grupo.

ToArray<T>()

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
WithCachedThreadPool(IExecutorService, Int32)

Cria um grupo de canais assíncronos com um determinado pool de threads que cria novos threads conforme necessário.

WithFixedThreadPool(Int32, IThreadFactory)

Cria um grupo de canais assíncronos com um pool de threads fixo.

WithThreadPool(IExecutorService)

Cria um grupo de canais assíncronos com um determinado pool de threads.

Implantações explícitas de interface

IJavaPeerable.Disposed()

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
IJavaPeerable.Finalized()

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

GetJniTypeName(IJavaPeerable)

Um agrupamento de canais assíncronos para fins de compartilhamento de recursos.

Aplica-se a