Compartilhar via


SelectableChannel Classe

Definição

Um canal que pode ser multiplexado através de um Selectorarquivo .

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

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

(Herdado de Object)
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 Selectorarquivo .

(Herdado de Object)
JniPeerMembers

Um canal que pode ser multiplexado através de um Selectorarquivo .

PeerReference

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
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 #configureBlocking configureBlocking métodos e #register register são sincronizados.

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

(Herdado de Object)
Dispose(Boolean)

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
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 Selectorarquivo .

(Herdado de Object)
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 Selectorarquivo .

(Herdado de Object)
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 Selectorarquivo .

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
IJavaPeerable.Finalized()

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um canal que pode ser multiplexado através de um Selectorarquivo .

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um canal que pode ser multiplexado através de um Selectorarquivo .

(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 canal que pode ser multiplexado através de um Selectorarquivo .

GetJniTypeName(IJavaPeerable)

Um canal que pode ser multiplexado através de um Selectorarquivo .

Aplica-se a