Idioma

AbstractInterruptibleChannel Classe

Definição

Classe de implementação base para canais interruptíveis.

[Android.Runtime.Register("java/nio/channels/spi/AbstractInterruptibleChannel", DoNotGenerateAcw=true)]
public abstract class AbstractInterruptibleChannel : Java.Lang.Object, IDisposable, 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
Herança
AbstractInterruptibleChannel
Derivado
Atributos
Implementações

Comentários

Classe de implementação base para canais interruptíveis.

Essa classe encapsula o maquinário de baixo nível necessário para implementar o fechamento assíncrono e a interrupção dos canais. Uma classe de canal concreta deve invocar os #begin begin métodos e #end end antes e depois, respectivamente, invocando uma operação de E/S que pode bloquear indefinidamente. Para garantir que o #end end método seja sempre invocado, esses métodos devem ser usados em um try ...  finally bloco:

<blockquote>

boolean completed = false;
            try {
                begin();
                completed = ...;    // Perform blocking I/O operation
                return ...;         // Return result
            } finally {
                end(completed);
            }

</blockquote>

O completed argumento para o #end end método informa se a operação de E/S realmente foi concluída, ou seja, se ela teve algum efeito visível para o invocador. No caso de uma operação que lê bytes, por exemplo, esse argumento deve ser true se, e somente se, alguns bytes foram realmente transferidos para o buffer de destino do invocador.

Uma classe de canal concreta também deve implementar o #implCloseChannel implCloseChannel método de modo que, se ele for invocado enquanto outro thread estiver bloqueado em uma operação de E/S nativa no canal, essa operação retornará imediatamente, gerando uma exceção ou retornando normalmente. Se um thread for interrompido ou o canal no qual ele está bloqueado for fechado de forma assíncrona, o método do #end end canal gerará a exceção apropriada.

Essa classe executa a sincronização necessária para implementar a java.nio.channels.Channel especificação. As implementações do #implCloseChannel implCloseChannel método não precisam ser sincronizadas com outros threads que possam estar tentando fechar o canal.

Adicionado em 1.4.

Documentação Java para java.nio.channels.spi.AbstractInterruptibleChannel.

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

Construtores

Nome Description
AbstractInterruptibleChannel()

Inicializa uma nova instância dessa classe.

AbstractInterruptibleChannel(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime.

Propriedades

Nome Description
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)
IsOpen

Retornará true se este canal estiver aberto.

JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
JniPeerMembers

Obtém os metadados JNI usados para invocar membros desse par Java.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Nome Description
Begin()

Marca o início de uma operação de E/S que pode bloquear indefinidamente.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Close()

Fecha este canal.

Construct(JniObjectReference, JniObjectReferenceOptions)

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
End(Boolean)

Marca o fim de uma operação de E/S que pode bloquear indefinidamente.

Equals(Object)

Classe de implementação base para canais interruptíveis.

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

JavaFinalize()
Obsoleto.

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 desse objeto.

(Herdado de Object)
NotifyAll()

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

(Herdado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

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

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

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

(Herdado de Object)
Wait(Int64, Int32)

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

(Herdado de Object)
Wait(Int64)

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

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Classe de implementação base para canais interruptíveis.

(Herdado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Classe de implementação base para canais interruptíveis.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Classe de implementação base para canais interruptíveis.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a