Compartilhar via


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.Interop.IJavaPeerable, 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 de canais. Uma classe de canal concreto 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 dentro de um try ...  finally bloquear:

<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 foi realmente concluída, ou seja, se ela teve algum efeito que seria 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 tal forma 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, lançando 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 lançará 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 podem 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 usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

AbstractInterruptibleChannel()

Inicializa uma nova instância desta classe.

AbstractInterruptibleChannel(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)
IsOpen

Retorna true se esse canal estiver aberto.

JniIdentityHashCode

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

(Herdado de Object)
JniPeerMembers

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

PeerReference

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

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

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Close()

Fecha este canal.

Dispose()

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

(Herdado de Object)
Dispose(Boolean)

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

(Herdado de Object)
End(Boolean)

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

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()

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)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
ToArray<T>()

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

(Herdado de Object)
ToString()

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

(Herdado de Object)
UnregisterFromRuntime()

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

(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)

Implantações explícitas de interface

IJavaPeerable.Disposed()

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

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Herdado de Object)
IJavaPeerable.Finalized()

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

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

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

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(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)

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

GetJniTypeName(IJavaPeerable)

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

Aplica-se a