SelectableChannel Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um canal que pode ser multiplexado através de um Selector
arquivo .
[Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)]
public abstract class SelectableChannel : Java.Nio.Channels.Spi.AbstractInterruptibleChannel, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)>]
type SelectableChannel = class
inherit AbstractInterruptibleChannel
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herança
- Derivado
- Atributos
- Implementações
Comentários
Um canal que pode ser multiplexado através de um Selector
arquivo .
Para ser usado com um seletor, uma instância dessa classe deve primeiro ser registrada por meio do #register(Selector,int,Object) register
método. Esse método retorna um novo SelectionKey
objeto que representa o registro do canal com o seletor.
Uma vez registrado com um seletor, um canal permanece registrado até que seja cancelado. Isso envolve a alocação de quaisquer recursos alocados ao canal pelo seletor.
Um canal não pode ser cancelado diretamente; em vez disso, a chave que representa seu registro deve ser cancelada. O cancelamento de uma chave solicita que o canal seja cancelado durante a próxima operação de seleção do seletor. Uma chave pode ser cancelada explicitamente invocando seu SelectionKey#cancel() cancel
método. Todas as chaves de um canal são canceladas implicitamente quando o canal é fechado, seja invocando seu Channel#close close
método ou interrompendo um thread bloqueado em uma operação de E/S no canal.
Se o seletor em si for fechado, o canal será cancelado e a chave que representa seu registro será invalidada, sem mais demora.
Um canal pode ser registrado no máximo uma vez com qualquer seletor específico.
Se um canal está ou não registrado com um ou mais seletores pode ser determinado invocando o #isRegistered isRegistered
método.
Os canais selecionáveis são seguros para uso por vários threads simultâneos.
"bm"><h2>Modo< de bloqueio/h2>
Um canal selecionável está no modo de bloqueio ou no modo sem bloqueio . No modo de bloqueio, cada operação de E/S invocada no canal será bloqueada até que seja concluída. No modo sem bloqueio, uma operação de E/S nunca será bloqueada e poderá transferir menos bytes do que foram solicitados ou possivelmente nenhum byte. O modo de bloqueio de um canal selecionável pode ser determinado invocando seu #isBlocking isBlocking
método.
Os canais selecionáveis recém-criados estão sempre no modo de bloqueio. O modo sem bloqueio é mais útil em conjunto com a multiplexação baseada em seletor. Um canal deve ser colocado no modo sem bloqueio antes de ser registrado com um seletor e não pode ser retornado ao modo de bloqueio até que tenha sido cancelado.
Adicionado em 1.4.
Documentação Java para java.nio.channels.SelectableChannel
.
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
SelectableChannel() |
Inicializa uma nova instância desta classe. |
SelectableChannel(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução. |
Propriedades
Class |
Retorna a classe de tempo de execução deste |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
IsBlocking |
Indica se esse canal está no modo de bloqueio. |
IsOpen |
Retorna true se esse canal estiver aberto. (Herdado de AbstractInterruptibleChannel) |
IsRegistered |
Indica se esse canal está registrado com pelo menos um seletor. |
JniIdentityHashCode |
Um canal que pode ser multiplexado através de um |
JniPeerMembers |
Um canal que pode ser multiplexado através de um |
PeerReference |
Um canal que pode ser multiplexado através de um |
ThresholdClass |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
ThresholdType |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
Begin() |
Marca o início de uma operação de E/S que pode bloquear indefinidamente. (Herdado de AbstractInterruptibleChannel) |
BlockingLock() |
Recupera o objeto no qual os |
Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
Close() |
Fecha este canal. (Herdado de AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
Ajusta o modo de bloqueio deste canal. |
Dispose() |
Um canal que pode ser multiplexado através de um |
Dispose(Boolean) |
Um canal que pode ser multiplexado através de um |
End(Boolean) |
Marca o fim de uma operação de E/S que pode bloquear indefinidamente. (Herdado de AbstractInterruptibleChannel) |
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) |
ImplCloseChannel() |
Fecha este canal. (Herdado de AbstractInterruptibleChannel) |
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) |
KeyFor(Selector) |
Recupera a chave que representa o registro do canal com o seletor fornecido. |
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 canal. |
Register(Selector, Operations) |
Registra este canal com o seletor fornecido, retornando uma chave de seleção. |
Register(Selector, Operations, Object) |
Registra este canal com o seletor fornecido, retornando uma chave de seleção. |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
ToArray<T>() |
Um canal que pode ser multiplexado através de um |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
Um canal que pode ser multiplexado através de um |
ValidOps() |
Retorna um conjunto de operações que identifica as operações com suporte desse canal. |
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) |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
Um canal que pode ser multiplexado através de um |
IJavaPeerable.DisposeUnlessReferenced() |
Um canal que pode ser multiplexado através de um |
IJavaPeerable.Finalized() |
Um canal que pode ser multiplexado através de um |
IJavaPeerable.JniManagedPeerState |
Um canal que pode ser multiplexado através de um |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um canal que pode ser multiplexado através de um |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um canal que pode ser multiplexado através de um |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Um canal que pode ser multiplexado através de um |
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 canal que pode ser multiplexado através de um |
GetJniTypeName(IJavaPeerable) |
Um canal que pode ser multiplexado através de um |